关于JAVA对XML文件的读写

来源:互联网 发布:minitab生成数据 编辑:程序博客网 时间:2024/05/22 14:42

XML读写有很多的方法~~

JAVA中有丰富的类对XML文件进行操作~~比如XMLReader....JDOM...DOM等等~~

以下是我从网上资料找到,并进行试验成功的例子~~

采用的是DOM~~~并不需要下载其他的包~~

 

  1. import  javax.xml.parsers.DocumentBuilder;
    import  javax.xml.parsers.DocumentBuilderFactory;
    import  javax.xml.parsers.ParserConfigurationException;
    import  javax.xml.transform.Transformer;
    import  javax.xml.transform.TransformerException;
    import  javax.xml.transform.TransformerFactory;
    import  javax.xml.transform.dom.DOMSource;
    import  javax.xml.transform.stream.StreamResult;
    import  org.w3c.dom.Document;
    import  org.w3c.dom.Element;
  2. public class JavaXML {
  3.   public static void main(String[] args) throws ParserConfigurationException, TransformerException {
  4.     
  5. DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();//文件工厂初始化
  6. DocumentBuilder db=dbf.newDocumentBuilder();
  7.       Document doc=db.newDocument();//创建一个Document实例
  8.             
  9.           Element customers=doc.createElement("customers");
  10.           Element customer=doc.createElement("customer");
  11.           Element customerID=doc.createElement("customerID");
  12.           Element customerName=doc.createElement("customerName");
  13.           
  14.           customerID.appendChild(doc.createTextNode("123"));
  15.           customerName.appendChild(doc.createTextNode("zjj"));
  16.                 
  17.           customer.appendChild(customerID);
  18.           customer.appendChild(customerName);
  19.       
  20.           customers.appendChild(customer); 
  21.          doc.appendChild(customers);//将子节点添加到根节点,实际上doc是这个XML的根节点
  22.       
  23.       TransformerFactory tff=TransformerFactory.newInstance();//解析器初始化
  24.       Transformer tformer=tff.newTransformer();
  25.       
  26.       tformer.transform(new DOMSource(doc), new StreamResult("d://test.xml"));
  27.       
  28. }
  29. }   

这是写XML的过程~~~下面是读取XML的过程

  1. import java.io.FileInputStream;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import javax.xml.parsers.DocumentBuilder;
  5. import javax.xml.parsers.DocumentBuilderFactory;
  6. import javax.xml.parsers.ParserConfigurationException;
  7. import org.w3c.dom.Document;
  8. import org.w3c.dom.Element;
  9. import org.w3c.dom.Node;
  10. import org.w3c.dom.NodeList;
  11. import org.xml.sax.SAXException;
  12. public class ReadXML{
  13. public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException{
  14.  String customerID=null;
  15.  String customerName=null;
  16.  DocumentBuilderFactory  domfac=DocumentBuilderFactory.newInstance();
  17.  DocumentBuilder dombuilder=domfac.newDocumentBuilder();//需要SAXException异常
  18.  InputStream is=new FileInputStream("d://test.xml");
  19.  Document doc=dombuilder.parse(is);
  20.  Element root=doc.getDocumentElement();//获取根节点
  21.  NodeList customer=root.getChildNodes();//获取子节点,是个集合
  22.  for(int i=0;i<customer.getLength();i++){
  23.      Node info=customer.item(i);
  24.      for(Node node=info.getFirstChild();node!=null;node=node.getNextSibling()){
  25.     if(node.getNodeType()==Node.ELEMENT_NODE){
  26.        if(node.getNodeName().equals("customerID")){
  27.         customerID=node.getFirstChild().getNodeValue();
  28.         }
  29.        if(node.getNodeName().equals("customerName")){
  30.         customerName=node.getFirstChild().getNodeValue();
  31.         }
  32.             
  33.     }
  34.     }
  35.         
  36.  }
  37.     
  38.  System.out.println(customerID);
  39.  System.out.println(customerName);
  40. }
  41. }

    这是我个人的经验~~~

很好用~~对XML的读写很方便~~~

大家可以去尝试下~~

原创粉丝点击