xml - xpath获取整个xml树结构

标签 xml xpath vtd-xml

有没有办法使用xpath获取整个树结构。例如,假设这是 xml

<a>
   <b>
      <c>
         data
      </c>
   </b>
</a>

我希望xpath获取节点的所有内容,结果应该是

  <b>
     <c>
        data
     </c>
  </b>

到目前为止,我一直在使用 VTD-XML 和 java 来检索元素。这是我一直在使用的代码。

    VTDGen vg = new VTDGen();
    vg.setDoc(xmlString);
    vg.parse(true);
    VTDNav vn = vg.getNav();
    AutoPilot ap = new AutoPilot(vn);
    ap.selectXPath(xPath);
    String data = ap.evalXPathToString();

最佳答案

请记住,XPath 选择一个节点或一组节点。将其视为返回原始源代码树的指针。它不返回“整个树结构”,它返回指向该结构中选定节点的指针。无论您选择什么,整个结构都可用于您的程序,方法是从所选节点导航到其他节点。导航可以使用更多的 XPath 表达式,或使用类似 DOM 的导航 API,或通过序列化等操作隐式完成(通常当您序列化一个节点时,它会显示以该节点为根的整个子树)。

关于xml - xpath获取整个xml树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844276/

相关文章:

当我为 textView 设置背景时,Android 如何使文本垂直居中

java - float 操作按钮加号未显示

java - 我想找到以 <br> 分隔的日期的 xpath

java - VTD XML 内部 XPath 表达式

xml - Haskell:使用 XML.Light 查找元素

java - XMLStreamReader 没有关闭打开的 xml 文件

php - xPath查询问题

java - 如何在java selenium中xpath这个 "Policy"选项卡

java - 使用 VTD 从元素获取行号

java - 使用 vtd-xml 更新属性值