我有以下xml文档:
<node0>
<node1>
<node2 a1="x1"> ... </node2>
<node2 a1="x2"> ... </node2>
<node2 a1="x1"> ... </node2>
</node1>
</node0>
我想在a1="x2"
时过滤掉node2
。用户提供需要测试和筛选的xpath和属性值。我在python中查看了一些类似于BeautifulSoup的解决方案,但是它们太复杂了,不能保留文本的大小写。我想把文件和以前一样,过滤掉一些东西。
你能推荐一个简单明了的解决方案吗?从外表上看,这不应该太复杂。实际的xml文档并不像上面那么简单,但其思想是相同的。
它使用标准库中的
xml.etree.ElementTree
:它使用
lxml
,它不在标准库中,但具有a more powerful syntax:编辑:如果
node2
更深入地隐藏在xml中,则可以遍历所有标记,检查每个父标记,查看node2
元素是否是其子元素之一,如果是,则删除它:仅使用xml.etree.ElementTree:
使用lxml:
相关问题 更多 >
编程相关推荐