开发者社区> 问答> 正文

使用lxml插入已解析的xml文件作为元素,以用于后续输出

我有一个使用lxml创建一些xml的应用程序,当前其中一个部分是另一个xml文件的嵌入式包含

问题是,当我保存文件时,我还需要将包含的xml保存在同一目录中。

我要寻找的是,当我创建元素树并转到当前设置为包括的部分时,实际上我会解析包含文件,以使其成为元素树的一部分并将成为输出的一部分。

我正在创建一个GDML文件,因此我的应用具有了(显然它会输出更详细的元素树)

gdml = ET.Element('gdml')
define = ET.SubElement(gdml, 'define')
structure = ET.SubElement(gdml, 'structure')
setup = ET.SubElement(gdml, 'setup', {'name': 'Default', 'version': '1.0'})
ET.SubElement(setup,'world', {'ref':self.Name})
solids = ET.SubElement(gdml, 'solids')

目前材料部分有

    ent  = ET.Entity("materials")
    materials = ET.SubElement(gdml, 'materials')
    materials.append(ent)

当我输出文件时,该文件要求要嵌入的文件materials.xml位于同一目录中。

我想解析材料xml文件,并将其添加到元素树中 。materials = ET.parse(“ ./ materials.xml”)`

如何将材料添加到gdml ET.Element

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 22:47:54 653 0
1 条回答
写回答
取消 提交回答
  • 您可以像这样在materials.xml中添加任何内容:

    # Parse materials.xml and get the root element
    materials = ET.parse("materials.xml").getroot()
    
    # Append materials as a new child of the gdml root element
    gdml.append(materials)
    

    回答来源:stackoverflow

    2020-03-24 22:48:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像