0
여기에 나는 전적으로 해당 노드를 삭제해야 노드 수에 따라java를 사용하여 노드 번호를 기반으로 xml 노드를 제거 하시겠습니까?
<book> <!--node 0-->
<id>1111</id>
<name>abacd</name>
<author>abcd</author>
<price>700</price>
<category>abcd</category>
</book>
<book> <!--node 1-->
<id>2222</id>
<name>abacd</name>
<author>abcd</author>
<price>700</price>
<category>abcd</category>
</book>
<book> <!--node 2-->
<id>3333</id>
<name>abacd</name>
<author>abcd</author>
<price>700</price>
<category>abcd</category>
</book>
으로 XML 구조를 가지고있다. 노드 번호와 모든 자식 노드를 가져올 수 있지만 deltet하는 방법을 알지 못합니다. 아무에게도 it.eg:node 0을 수행하는 방법을 안내 할 수는 없습니다. 삭제해야합니다. 이 내가 노드 0 delet하려고 무엇을 :
File fXmlFile = new File(xmlfilePath);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
NodeList nList = doc.getElementsByTagName("book");
Node nNode = nList.item(Integer.parseInt(nodeNumber));
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
String id = eElement.getElementsByTagName("id").item(0).getTextContent();
if ((id.equals(bookId))) {
eElement.getElementsByTagName("id").item(0).removeChild(nNode);
}
}
내가 원하는 출력을 얻을 도와주세요.
여기 당신은 내가 XPathFactory를 XPF = XPathFactory를 사용하려는 해달라고, ppuskar http://stackoverflow.com/questions/3717215/remove-xml-node-using-java-parser – ppuskar
@ 이동합니다. newInstance(); XPath xpath = xpf.newXPath(); XPathExpression expression = xpath.compile ("// A/B [C/E/text() = 13]"); 나를 안내 해주세요. – khanam