XPath搜索麻烦

时间:2009-07-28 17:44:21

标签: xml xpath

我似乎无法抓住这个特定的节点。

<w:body>
    <w:p wsp:rsidR="00D12EE7" wsp:rsidRDefault="00F86B09">
      <w:fldSimple w:instr=" MERGEFIELD GAS_REAFCity ">
         <w:r>
           <w:rPr>
             <w:noProof/>
           </w:rPr>
           <w:t>«GAS_REAFCity»</w:t>
         </w:r>
       </w:fldSimple>
    </w:p>
</w:body>

我试过可以接近// w:p / w:fldSimple 但我如何选择w:instr =“MERGEFIELD GAS_REAFCity”。

由于 感谢任何帮助!!

2 个答案:

答案 0 :(得分:3)

不要使用@语法属性,所以你要选择@w:instr?

//w:p/w:fldSimple[@w:instr=" MERGEFIELD GAS_REAFCity "]

XPath Expression Tester

答案 1 :(得分:2)

您的XPath将获取元素节点,但您需要属性节点。您的xpath需要类似于//w:p/w:fldSimple/@w:instr。根据您使用什么来评估xpath,您可以使用myAttr.getText(),或者,您可以使用string(//w:p/w:fldSimple/@w:instr)

我注意到你的XPath是相对的,这是故意的吗?最后,有许多用于处理DOM和XPath的优秀框架,我知道至少Dom4J将允许您以编程方式遍历Dom树,然后您可以查询将访问该节点的XPath。

我在开始

时发现以下tutorial有用

希望这有帮助