怎么用DOM去解析XML的内容然后把内容以TXT的文件形式导出来... 帮帮忙啊。。小弟感激

解决方案 »

  1.   

    (*^__^*) 嘻嘻……,这个不会用俺只会用jdom的
      

  2.   

    我有个例子,可以参考下。解释起来太麻烦了
    导包:
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import java.util.*;
    import javax.xml.transform.*;
    import javax.xml.transform.stream.*;
    import javax.xml.transform.dom.*;
    import java.io.*;
    方法:
    public List<Employee> getAllEmployees()throws Exception{
    [align=left]Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("employee.xml");
    Element root=doc.getDocumentElement();
    NodeList nl=root.getChildNodes();
    List<Employee> list=new ArrayList<Employee>(); for(int i=0;i<nl.getLength();i++){
    if(!(nl.item(i) instanceof Text)){
    Employee employee=new Employee();
    Element emp=(Element)nl.item(i);
    System.out.println(emp.getNodeName());
    employee.setId(emp.getAttribute("id"));
    employee.setSex(emp.getAttribute("sex"));
    employee.setName(((Element)emp.getElementsByTagName("name").item(0)).getTextContent());
    employee.setTel(((Element)emp.getElementsByTagName("tel").item(0)).getTextContent());
    employee.setSalary(((Element)emp.getElementsByTagName("salary").item(0)).getTextContent());
    employee.setEmail(((Element)emp.getElementsByTagName("email").item(0)).getTextContent());
    list.add(employee);
    }
    }
    return list;
    }XML文件:
    <?xml version="1.0" encoding="UTF-8"?><company>
       <employee id="et0901" sex="男">
        <name>admin</name>
        <tel>1381444623</tel>
        <salary>2000</salary>
        <email>[email protected]</email>
       </employee>
        <employee id="et0902" sex="男">
        <name>Tom</name>
        <tel>137981444623</tel>
        <salary>1000</salary>
        <email>[email protected]</email>
       </employee>
    </company>
      

  3.   

    类Employee:
    private String id;
    private String sex;
    private String name;
    private String tel;
    private String salary;
    private String email;
    public Employee(){}
    public Employee(String id,String sex,String name,String tel,String salary,String email){
    this.id=id;
    this.sex=sex;
    this.name=name;
    this.tel=tel;
    this.salary=salary;
    this.email=email;
    }这个方法返回的是个Employee 的集合,LZ可以借鉴下,然后转成IO流.
    具体的解析步骤我就不说了,刚好这两天学到解析XML了,手头上有我写的代码.
    希望对你有帮助.
      

  4.   

    呵呵,我用过xml,可是没导过...
      

  5.   

    DOM4j解析:
     
       File file = new File("data.xml");
       
       SAXReader read = new SAXReader();
       Document doc = read.read(file);//doc和read的dom4j里的类实例
       //通过doc可以获取该xml文件的root,下面的一些数据获取操作自己点一下就知道了...
      

  6.   

      其实还是推荐使用dom4j,直接用dom有些繁琐/一下就是代码.  import   java.io.*;   
      import   java.util.*;   
      import   org.w3c.dom.*;   
      import   javax.xml.parsers.*;   
        
      public   class   MyXMLReader_DOM{   
        
      public   static   void   main(String   arge[]){   
      try{   
      File   f=new   File("aa.xml");   
      DocumentBuilderFactory   factory=DocumentBuilderFactory.newInstance();   
      DocumentBuilder   builder=factory.newDocumentBuilder();   
      Document   doc   =   builder.parse(f);   
      NodeList   nl   =   doc.getElementsByTagName("VALUE");   
      for   (int   i=0;i<nl.getLength();i++){   
      System.out.print("车牌号码:"   +   doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());   
      System.out.println("   车主地址:"   +   doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());   
      }   
      }catch(Exception   e){e.printStackTrace();}   
      //System.out.println("运行时间:"+(System.currentTimeMillis()   -   lasting)+"   毫秒");   
      }   
      } 一下是上面代码读的xml  <?xml   version="1.0"   encoding="GB2312"?>   
      <RESULT>   
        
       <VALUE>   
        
        <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>   
       </VALUE>   
        
       <VALUE>   
            <NO>B1234</NO>   
        <ADDR>四川省XX市XX乡XX村XX组</ADDR>   
       </VALUE>   
        
      </RESULT>   
      

  7.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <SCRIPT language="javascript" type="text/javascript">
    function clickbtn() 
    {
      alert(document.getElementById("txt_name").value);
    }
    </SCRIPT>
    <BODY>
    <INPUT type="text" id="txt_name" value="我是一个textbox">
    <INPUT type="submit" id="btn_submit" value="click me" onclick="clickbtn()">
    </BODY>
    </HTML>
    简单的初学者的例子,我自己做的。很基础,根据你的题目不知道你想要什么样的。