我有一个大的(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