我有一个XML文件,其结构如下:
<element1>
<element2>
...
<element10 name="a">
...我试图使用Python在Python2.7中解析这个文件。但是我正在寻找的数据在结构中隐藏得很深。
有什么方法可以不迭代整个结构而将特定的大-大--大--大的子元素(例如element10)设置为根元素吗?
发布于 2015-01-19 10:42:29
多亏了这这篇伟大的文章,我终于解决了这个问题。
tree.iter(tag = 'element10')这将在结构中找到所需的元素,然后可以迭代他的子元素,即使树中有更多的“element10”命名元素。
for element in tree.iter(tag = 'element10'):
...发布于 2015-01-16 20:03:03
试试这个:
'(//*[starts-with(name(), "element")])[last()]'演示:
$ cat file
<element1>
<element2></element2>
<element3></element3>
<element4></element4>
<element5></element5>
<element6></element6>
<element10 name="a">x</element10>
</element1>代码:
(也与xmllint一起工作)
$ saxon-lint.pl --xpath '(//*[starts-with(name(), "element")])[last()]' file产出:
<element10 name="a">x</element10>https://stackoverflow.com/questions/27991772
复制相似问题