Python中文
首页
教程
问答
标签
搜索
登录
注册
使用python elemen将节点插入XML
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下XML结构,如果在特定位置不存在新节点,我想添加它。</p> <pre><code><root> <OuterLevel> <Node> <Name>NodeA</Name> </Node> <Node> <Name>NodeB</Name> <Node> <SpecialNode> <Name>NodeZ</Name> </SpecialNode> </OuterLevel> </root> </code></pre> <p>我用元素树编写了一个python脚本。<a href="http://docs.python.org/library/xml.etree.elementtree.html" rel="nofollow">http://docs.python.org/library/xml.etree.elementtree.html</a></p> <pre><code>import xml.etree.ElementTree as ET tree = ET.parse('sampleFile.xml') root = tree.getroot() newNodeStr = 'NewNode' if root[0][0].tag != newNodeStr : print('Now we add it') newNode = ET.Element(newNodeStr) newNodeName = ET.Element('Name') newNodeName.text = 'NodeC' newNode.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(newNodeName) root[0].insert(0, newNode) tree.write('sampleFileNew.xml') </code></pre> <p>我希望XML结构如下所示:</p> <pre><code><root> <OuterLevel> <NewNode> <Name>NodeC</Name> </NewNode> <Node> <Name>NodeA</Name> </Node> <Node> <Name>NodeB</Name> <Node> <SpecialNode> <Name>NodeZ</Name> </SpecialNode> </OuterLevel> </root> </code></pre> <p>但事实上,它看起来是这样的:</p> <pre><code><root> <OuterLevel> <NewNode><Name>NodeC</Name></NewNode><Node> <Name>NodeA</Name> </Node> <Node> <Name>NodeB</Name> <Node> <SpecialNode> <Name>NodeZ</Name> </SpecialNode> </OuterLevel> </root> </code></pre> <p>我使用了元素树中的insert()方法,因为我认为它会提供我所需要的,即在特定位置插入一个节点。但是,看起来insert()实际上并不关心树结构中已经位于该位置的内容。有什么方法可以帮我解决订货问题吗?有更好的办法吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>从语法上讲,这两个输出是相同的,tree.write()可能会按照您想要的方式打印您的输出,如果您保存文件,然后重新分析它,尽管我不确定。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
想用靓汤抢夺价值
1 回答
想申请一份符合工作描述的简历吗
2 回答
想画网格,Python
7 回答
想白痴化我的Python战舰
3 回答
想看两列日期,但只上
1 回答
想看看我写的这个脚本读一个Fortran二进制fi吗
1 回答
想知道Django是如何实现ORM查询优化的吗
8 回答
想知道GeoDjango和地图服务吗
10 回答
想知道Image.resize操作在PIL文件中的详细工作方式吗
4 回答
想知道matplotlib pyplot为什么不调整边距
4 回答
想知道matplotlib颜色的颜色代码吗
4 回答
想知道pd.factorize,pd.get_dummies,sklearn.preprocessing.labeencoder和OneHotEncod之间的区别
10 回答
想知道property()在python中的实际用法吗
4 回答
想知道pyodidejs是如何工作的吗?
4 回答
想知道pyparsing==2.0.1的已完成处理依赖关系
10 回答
想知道ScikitLearn中的编码算法吗
8 回答
想知道VTK 5.04和VTK 5.4.2的vtkMassProperties差异吗
8 回答
想知道一个特定字符在一个特定句子中出现的次数吗
8 回答
想知道两个不同子集的重叠中有多少个对象吗
5 回答
想知道为什么is_素数函数的结果不正确吗
7 回答