找出 XML 文件中元素的父元素

找出 XML 文件中元素的父元素

我有一个大的(10k 行)XML 文件。通常我使用记事本++或者铬合金打开 XML 文件。虽然可以折叠/展开子条目,但我看不到哪个元素属于哪个父元素。

例如:

<parent1>
<parent2>
<parent3>
<element1>
my aim entry
</element1>
</parent3>
</parent2>
</parent1>

每次我想检查父母元素1我检查上面的几行,折叠/展开它们以发现实际的遗产是这样的:

parent1.parent2.parent3.element1

是否可以通过程序找到这个遗产?因为我每周都要处理这个大 XML 文件,有时会出错,导致整个系统崩溃。

答案1

好的 XML 编辑器将有这样的未来,例如 IBM 使用的编辑器是

答案2

如果你有xmllint(默认情况下应该在 Linux/OS X 上,否则这里), 做就是了:

xmllint --shell your-xml-file.xml

然后制定以下 XPath 查询:

xpath //element1/ancestor::*

结果是:

Object is a Node Set :
Set contains 3 nodes:
1  ELEMENT parent1
2  ELEMENT parent2
3  ELEMENT parent3

相关内容