XPath xpath=XPath.newInstance("//admin[AdminId=9]");
Element anode=(Element)xpath.selectSingleNode(xmldoc);
anode.getParentElement().removeContent(anode);

解决方案 »

  1.   


    public class RemoveXMLData { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try
    {
        SAXBuilder builder = new SAXBuilder();
        Document doc = builder.build(new URL("file.xml"));
        Element root = doc.getRootElement();
        List list = root.getChildren("admin");
        for(int i=0;i<list.size();i++)
        {
              Element dd  = (Element)list.get(i);
              if(dd.getChild("AdminID").getText().toString().equals("9"))
              {
               dd.getParentElement().removeContent(dd);
              }
        }
          XMLOutputter outputter = new XMLOutputter();
          OutputStream writer = new FileOutputStream("file.xml");
          outputter.output(root, writer);
          writer.flush();
          writer.close();
    }
    catch(Exception e)


    e.printStackTrace();
    }
    }}
      

  2.   

    这样删除后会将encoding="GB2312"自动改为encoding="UTF-8"
    一直没有找到解决的办法,希望各位牛人指点