【发布时间】:2011-07-01 11:49:49
【问题描述】:
我正在尝试解析 OpenOffice 电子表格以获取第一列中具有唯一值的行。
IE,我想从下面的 XML 片段中检索所有 <table:table-row> 元素在第一个子 <table:table-cell> 中具有唯一 <text:p> 值。
<table:table table:name="foo">
<table:table-row>
<table:table-cell>
<text:p>1</text:p>
</table:table-cell>
<table:table-cell>
<text:p>foo</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell>
<text:p>2</text:p>
</table:table-cell>
<table:table-cell>
<text:p>bar</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell>
<text:p>1</text:p>
</table:table-cell>
<table:table-cell>
<text:p>baz</text:p>
</table:table-cell>
</table:table-row>
</table:table>
我希望得到以下输出作为节点
<table:table-row>
<table:table-cell>
<text:p>1</text:p>
</table:table-cell>
<table:table-cell>
<text:p>foo</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell>
<text:p>2</text:p>
</table:table-cell>
<table:table-cell>
<text:p>bar</text:p>
</table:table-cell>
</table:table-row>
如何使用 XPath 做到这一点?
【问题讨论】:
-
XPath 只是一个表达式,用于获取您的 dom 的已定义 Elemente|Attribute|Node。您想要将您的初始 XML 文件转换为另一个文件。您可以通过使用 XSLT,然后使用 XSLT 使用 XPath 表达式来做到这一点。
-
我想得到 Nodes,没想到我也能得到 XML。谢谢。