这是我的 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>
这是我的 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>
my_xml/record/child::*
child::* 选择上下文节点的所有元素子节点 查看详细信息
快速的答案是,不。您无法使用 XPath 完成此操作,但是,一旦您选择了父节点(即示例中的“记录”),您应该能够以您用于解析 XML 的任何语言对其进行操作。不幸的是,这可能并不“容易”。
听起来您想要类似innerHTML属性的东西,但是对于 XML DOM 而不是 HTML DOM。不幸的是,XML DOM 不存在这样的东西。如果您不关心节点本身,则可以使用textContent属性;在您的示例中,您会得到"hello world this is some html"
,这似乎不是您想要的。
查看这个类似的问题,其中包括 Java 中的解析算法。无论您使用哪种语言来解析 XML,您似乎都需要编写一个类似的算法。
对于将来寻找这个的人来说,这很可能使用 DOT 来完成,它将整个节点内容作为文本返回(至少在 MSSQL xpath 中是这样)。
'(/my_xml/record/.)[1]'