您能给我一些建议如何使用python修改XML中的元素文本吗? 如果我想在第一个BBB元素的文本前面插入其他文本,我应该在下面的代码中更改哪个部分?在
请不要使用fromstring和其他模块(例如lxml)。在
下面是示例XML。在
<?xml version="1.0"?>
<data>
<AAA>
<CCC>
<BBB>This</BBB> ----> the first BBB element
</CCC>
<CCC>
<BBB>is</BBB>
</CCC>
<CCC>
<BBB>test1</BBB>
</CCC>
</AAA>
<AAA>
<CCC>
<BBB>This is test</BBB>
</CCC>
</AAA>
</data>
这是我在下面尝试的代码。在
^{pr2}$据我所知,为了BBB芬德尔('BBB')[0]:
这就是我想要的结果。在
<?xml version="1.0"?>
<data>
<AAA>
<CCC>
<BBB>11111This</BBB> ----> the first BBB element
</CCC>
<CCC>
<BBB>is</BBB>
</CCC>
<CCC>
<BBB>test1</BBB>
</CCC>
</AAA>
<AAA>
<CCC>
<BBB>This is test</BBB>
</CCC>
</AAA>
</data>
编辑:来自@Tomalak的XPath答案更加优雅!在
经过一些测试,看起来
CCC.findall('BBB')[0]
工作正常。 因为您希望第一个BBB
标记在文档中,而不是在每个AAA
标记中,所以我将松开for
循环并从注释中修改该位。我知道了:似乎能搞定。{{cd7}的有效性不需要检查。在
希望这有帮助。在
如果只需要更新单个标记,则不需要迭代所有标记。在
尝试:
ElementTree支持a limited sub-set of XPath。在
你可以用
获取树中第一个这样的节点,或者
^{pr2}$对它们进行迭代。在
相关问题 更多 >
编程相关推荐