Удалить узел XML на основе позиции в Java - PullRequest
0 голосов
/ 15 мая 2010

У меня есть 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 Ответ

3 голосов
/ 15 мая 2010

Вы можете найти его с помощью 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);

чтобы удалить его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...