根据Java中的位置删除XML节点

时间:2010-05-15 04:57:22

标签: java xml

我有一个像这样的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中的项目,它需要让你选择项目并点击删除按钮。

我已经实现了除删除之外的所有内容,但实在太多而且没有任何相关内容。

1 个答案:

答案 0 :(得分:3)

您可以使用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);

删除它