代码之家  ›  专栏  ›  技术社区  ›  mjwills Myles McDonnell

Java中基于位置的XML节点删除

  •  0
  • mjwills Myles McDonnell  · 技术社区  · 5 年前

    我有这样一个XML文件:

    <A>
      <B>
        <c>1<c/>
        <d>2<d/>
        <e>3<e/>
      </B>
      <B>
        <c>11<c/>
        <d>22<d/>
        <e>33<e/>
      </B>
    </A>
    

    假设我想删除第二个节点。我该怎么做?

    我还没有为此编写代码。我在网上做过调查,但找不到我想做的事。我的程序列出了jtable中的项,它需要让您选择该项并点击delete按钮。

    除了删除,我已经实现了所有的东西,但是太多了,没有什么真正相关的东西。

    1 回复  |  直到 14 年前
        1
  •  3
  •   davenpcj    14 年前

    您可以通过XPath表达式找到它 /A/B[2]

    XPath xPath = XPathFactory.newInstance().newXPath();
    XPathExpression compiledExp = xPath.compile("/A/B[2]");
    Node foundNode = (Node)compiledExp.evaluate(doc, XPathConstants.NODE);
    

    然后使用:

    foundNode.getParentNode().removeChild(foundNode);