抛出的异常是这样的
Parser class     org.jdom.adapters.XercesDOMAdapter         instantiation error
不过这是我自己定义的显示方式,不知道会不会有帮助.
我参照的例子是
http://www.xml-magazin.de/itr/online_artikel/psecom,id,223,nodeid,69.html
里面的list3

解决方案 »

  1.   

    给你个例子,我自己写的。
    package com.deyway.sales.product;
    import org.jdom.Namespace;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.output.XMLOutputter;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    import java.io.FileInputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.StringTokenizer;
    import java.io.FileWriter;
    import java.util.ArrayList;
    public class xmlManager
    {

    private Document doc;

    //导入xml文件
    public void load(String xmlFile) throws IOException,
    FileNotFoundException,JDOMException
    {
         SAXBuilder builder=new SAXBuilder();
         doc=builder.build(new File(xmlFile));
    }

    //删除节点及其子节点(根/节点名称)
        public boolean DelNode(String NodeStr)
        {
         StringTokenizer S=new StringTokenizer(NodeStr,"/");
        
         if(!S.hasMoreTokens()){return false;} //如果没有字符串,返回
        
         Element MyEle=doc.getRootElement();
        
         String nodeStr;
        
         while(S.hasMoreTokens()&&S.countTokens()>1)
         {
         nodeStr=S.nextToken();
         MyEle=MyEle.getChild(nodeStr);
         }     return MyEle.removeChildren(S.nextToken());
        }
        
    //删除指定节点(根/节点名称,序号)
        public boolean DelNode(String NodeStr,int id)
        {
         StringTokenizer S=new StringTokenizer(NodeStr,"/");
        
         if(!S.hasMoreTokens()){return false;} //如果没有字符串,返回
        
         Element MyEle=doc.getRootElement();
        
         String nodeStr;
        
         while(S.hasMoreTokens()&&S.countTokens()>1)
         {
         nodeStr=S.nextToken();
         MyEle=MyEle.getChild(nodeStr);
         }
         return MyEle.removeContent((Element)MyEle.getChildren(S.nextToken()).get(id));
        }
        
        
    //添加节点(根/节点名称,字符串)
        public void AddNode(ArrayList list) throws JDOMException,Exception
        {
         Element MyElement=doc.getRootElement();
        
         //*******获取命名空间*******
         Namespace rs=MyElement.getNamespace("xmlns:rs");
         Namespace z=MyElement.getNamespace("xmlns:z");
        
         MyElement=MyElement.getChild("data",rs);
        
         //****获取元素命名空间*********
         Element spaceElement=MyElement.getChild("row",z);
         z=spaceElement.getNamespace();
         MyElement.removeChildren("row",z);
             
         displaySalesSlipBean dForm;
         for(int i=0;i<list.size();i++)
         {
         dForm=(displaySalesSlipBean)list.get(i);
         Element newNode=new Element("row");
         newNode.setNamespace(z);
         MyElement.addContent(newNode);
        
         newNode.setAttribute("product_id",dForm.getProduct_id());
         newNode.setAttribute("productName",dForm.getProductName());
         newNode.setAttribute("barCode",dForm.getBarCode());
         newNode.setAttribute("spec",dForm.getSpec());
         newNode.setAttribute("price",String.valueOf(dForm.getPrice()));
         newNode.setAttribute("unit",dForm.getUnit());
         newNode.setAttribute("quantity",String.valueOf(dForm.getQuantity()));
         newNode.setAttribute("sumMoney",String.valueOf(dForm.getsumMoney()));
         newNode.setAttribute("residue",String.valueOf(dForm.getResidue()));
         newNode.setAttribute("re",dForm.getRe());
         newNode.setAttribute("id",String.valueOf(dForm.getId()));
         newNode.setAttribute("enterDate","0000000000000a8b");
        }
        }

    //保存操作结果
        public void save(String OutputFile) throws IOException,
    FileNotFoundException,JDOMException
        {
         FileWriter writer=new FileWriter(OutputFile,false);
         XMLOutputter Outputter=new XMLOutputter();
         Outputter.setEncoding("GBK");
         Outputter.output(doc,writer);
         writer.close();
        }

    }
      

  2.   

    哎,昨天真的是晕了
    原来没把xerces加到环境变量里面去。一直在关心程序的对错。
    异常的地方又是自己定义的抛出的错误,一直看不出真正的错误原因。