无法在java中删除xml文件中的节点
我正在尝试删除XML文件中的特定节点。 我能够获取必须删除的属性id,但无法删除节点。这是个例外 这是我的代码:无法在java中删除xml文件中的节点,java,xml,nodes,Java,Xml,Nodes,我正在尝试删除XML文件中的特定节点。 我能够获取必须删除的属性id,但无法删除节点。这是个例外 这是我的代码: public class RemoveXmlElement { public static final String xmlFilePath = "C:\\Xfile.xml"; int s = 0; String username = ""; String fullname = ""; String
public class RemoveXmlElement {
public static final String xmlFilePath = "C:\\Xfile.xml";
int s = 0;
String username = "";
String fullname = "";
String message = "";
List getFiledata = null;
public List readXML(int x) {
System.out.println("x :" + x);
try {
File xmlFile = new File(xmlFilePath);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document doc = documentBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
Node node = doc.getElementsByTagName("main").item(x);
System.out.println("node :" + node);
NodeList nodeList = node.getChildNodes();
System.out.println("In Remove==================================" + nodeList.getLength());
if (nodeList.getLength() > 0) {
getFiledata = new ArrayList();
Element element = (Element) doc.getElementsByTagName("SNo").item(x);
NodeList y = doc.getElementsByTagName("SNo");
element.getAttributeNode("" + x);
System.out.println("doc.getElementsByTagName('SrNo').item(x); " + element);
doc.removeChild(element);
for (int c = 0; c < y.getLength(); c++) {
// Node node1 = nodeList.item(c);
// node.getParentNode().removeChild(node1);
//doc.removeChild(y[c].);
}
//element.getParentNode().removeChild(element);
}
} catch (Exception e) {
e.printStackTrace();
}
return getFiledata;
}
}
我被困在这里了。。
请指出我的错误,如果可能的话,提供一个提示来解决我的问题
忘记包含XML文件:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <main>
- <SrNo id="1">
<username>XRG</username>
<fullname>Xavier</fullname>
<message>sfdgsdgdf<@@@/message>
</SrNo>
- <SrNo id="2">
<username>ROB</username>
<fullname>Robert</fullname>
<message>adsadda$$$</message>
</SrNo>
</main>
-
-
XRG
泽维尔
sfdgsdgdf
-
抢劫
罗伯特
adsadda$$$
Node=doc.getElementsByTagName(“main”).item(x);无论项目(x)中x的值是什么,总是返回null。实际上,当且仅当x
为零时,它才会返回有效节点。对于任何正值,它都返回null。
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <main>
- <SrNo id="1">
<username>XRG</username>
<fullname>Xavier</fullname>
<message>sfdgsdgdf<@@@/message>
</SrNo>
- <SrNo id="2">
<username>ROB</username>
<fullname>Robert</fullname>
<message>adsadda$$$</message>
</SrNo>
</main>