我正在尝试处理 GDML 文件,这不是我所说的平面结构。
而不是
<materials>
<define>
<solids>
<structure>
具有单个元件
我现在正在尝试使用
处理文件 <materials>
<define>
<solids>
<define>
<solids>
<define>
<solids>
<structure>`
实体对前面的定义中的定义使用相同的名称。 可以用 lxml 处理这种结构吗?如果是,最好的方法是什么。
需要有关如何解决这种情况的建议,因为当前的实现只能找到最后的定义信息。
https://gdml.web.cern.ch/GDML/gdmlexample.html 是一个示例吗?那么看来您可以使用 XSLT 和键,例如
<xsl:key name="material" match="material" use="@name"/>
然后在处理时,例如<structure><volume><materialref ref="Air"/>...
您可以使用例如key('material', materialref/@ref)
查找引用的 material
元素。