无法在java中删除xml文件中的节点

无法在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

我正在尝试删除XML文件中的特定节点。 我能够获取必须删除的属性id,但无法删除节点。这是个例外

这是我的代码:

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>