【发布时间】:2014-05-07 20:00:28
【问题描述】:
我正在尝试使用 XPath 从 XML 输入中排除一些元素。 在以下示例中,我需要排除所有“X”元素。
我以为我只需要使用像 //*[not(self::X)] 这样的 XPath 查询,但这似乎不适用于所有平台。
我在这两个网站上试过:
对于第一个,xml 输出将符合预期(X 元素在输出中未突出显示),但对于第二个,输出与输入严格相同。不幸的是,将使用此 XPath 的软件与第二个网站具有相同的行为...
其他奇怪的事情:当我尝试//*[self::X] 时,我在两个站点上都得到了所有 X 元素。
你能帮我完成这个简单的请求吗?我可能遗漏了一些明显的东西,但我对 XPath 查询很陌生!谢谢。
示例:
<ROOTNODE>
<ITEM>12345</ITEM>
<LEVELS COUNT="1">
<LEVEL>
<OFFICES COUNT="3">
<OFFICE>
<CODEOFF>21</CODEOFF>
<LIB>GALLEY AVANT</LIB>
<NIV>1</NIV>
<X>6</X>
<Y>78</Y>
<L>127</L>
<H>196</H>
<OBJECTS COUNT="7">
<OBJECT>
<CODEOBJ>G1C</CODEOBJ>
<LIB>GALLEY 1C</LIB>
<NIV>1</NIV>
<X>12</X>
<Y>143</Y>
<L>32</L>
<H>49</H>
</OBJECT>
<OBJECT>
<CODEOBJ>G1L</CODEOBJ>
<LIB>GALLEY 1L</LIB>
<NIV>1</NIV>
<X>32</X>
<Y>205</Y>
<L>34</L>
<H>29</H>
</OBJECT>
</OBJECTS>
</OFFICE>
</OFFICES>
</LEVEL>
</LEVELS>
</ROOTNODE>
【问题讨论】: