我可以将带有XPath表达式的XML文档级别拆分到列表中吗?我有这个,例如:
<root>
<test1 />
<testX />
<test2 />
<test21 />
<testX />
<test3 />
</root>
因此,在此处运行会返回包含<test1 />
,<test2 /><test21 />
和<test3 />
的列表。
<testX />
之间不一定只有一个节点,可以有不同的数字。
答案 0 :(得分:2)
查找root下的第一个元素,以及每个“testX”元素后面的第一个元素。除了那些名为“testX”的元素。
(/root/*[1] | /root/*['testX' = name(preceding-sibling::*[1]))[name() != 'testX']
XPath上的一些MSDN链接:
答案 1 :(得分:0)
/root/*[not(self::testX)]
会选择
<test1 />
<test2 />
<test21 />
<test3 />