1

这是我的 XML

    <my_xml>
     <record>
      <p>hello <b>world</b> this is some html</p>
     </record>
    </my_xml>

我可以使用 XPath 返回以下内容吗?

    <p>hello <b>world</b> this is some html</p>
4

3 回答 3

1
my_xml/record/child::*

child::* 选择上下文节点的所有元素子节点 查看详细信息

于 2014-11-14T11:46:47.533 回答
0

快速的答案是,不。您无法使用 XPath 完成此操作,但是,一旦您选择了父节点(即示例中的“记录”),您应该能够以您用于解析 XML 的任何语言对其进行操作。不幸的是,这可能并不“容易”。

听起来您想要类似innerHTML属性的东西,但是对于 XML DOM 而不是 HTML DOM。不幸的是,XML DOM 不存在这样的东西。如果您不关心节点本身,则可以使用textContent属性;在您的示例中,您会得到"hello world this is some html",这似乎不是您想要的。

查看这个类似的问题,其中包括 Java 中的解析算法。无论您使用哪种语言来解析 XML,您似乎都需要编写一个类似的算法。

于 2013-08-20T18:10:24.587 回答
0

对于将来寻找这个的人来说,这很可能使用 DOT 来完成,它将整个节点内容作为文本返回(至少在 MSSQL xpath 中是这样)。

'(/my_xml/record/.)[1]'
于 2016-06-01T08:48:12.767 回答