Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有以下 XML
<a> <b></b> <c></c> <d></d> <e></e> </a>
如果我想得到a except d的所有孩子。为此,我将使用以下内容:
/a/*[not(self::d)]
但是,这将在三个单独的节点中返回b、c和e 。我正在寻找的只是一个节点,包含b、c和e,不包括d。这与以下伪代码类似:
/a/* and <do not include /a/d please>
这可能吗?
谢谢。
XPath - 无论是 1.0、2.0 还是 3.0 版本 - 只能查询子树并且不能修改(包括删除)或构造新元素。
为此,您必须使用 XQuery 或 XSLT,或者在查询语言之外修改文档并仅使用 XPath 选择结果子树,然后使用另一个 XPath 选择您不想要的节点并将它们从结果中删除您正在使用的编程语言。