java xml的读写操作!

  1. <!--userinfo.xml-->
  2. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  3. <userinfo>
  4.  <user>
  5.   <name>张三</name>
  6.   
  7.   <sex></sex>
  8.  <address>mike</address>
  9.  <telephone>07185658043</telephone>
  10.  <mobile>13402758940</mobile>
  11.  </user>
  12. <user>
  13. <name>李四</name>
  14. <sex></sex>
  15. <address>湖北武</address>
  16. <telephone>123456789</telephone>
  17. <mobile>5658043</mobile>
  18. </user>
  19. <user>
  20. <name>孟德军</name>
  21. <sex></sex>
  22. <address>湖北</address>
  23. <telephone>123456789</telephone>
  24. <mobile>5658043</mobile>
  25. </user>
  26. </userinfo>
  27. <!----------------------------------------------->
  28. userinfo.dtd
  29. <!ELEMENT userinfo (#PCDATA)>
    <!ELEMENT user (name+,sex,address+,telephone+,mobile+)>
    <!ELEMENT user (#PCDATA)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT sex (#PCDATA) >
    <!ELEMENT address (#PCDATA)>
    <!ELEMENT telephone (#PCDATA)>
    <!ELEMENT mobile (#PCDATA)>
  30. <!-------------------------------------------------->

 

               

  1. /**
  2.  * 写入xml文件.
  3.  */
  4. package com.jdm.exer1;
  5. import java.io.File;
  6. import java.io.IOException;
  7. import javax.xml.parsers.DocumentBuilder;
  8. import javax.xml.parsers.DocumentBuilderFactory;
  9. import javax.xml.parsers.ParserConfigurationException;
  10. import javax.xml.transform.Transformer;
  11. import javax.xml.transform.TransformerConfigurationException;
  12. import javax.xml.transform.TransformerException;
  13. import javax.xml.transform.TransformerFactory;
  14. import javax.xml.transform.dom.DOMSource;
  15. import javax.xml.transform.stream.StreamResult;
  16. import org.w3c.dom.Document;
  17. import org.w3c.dom.Element;
  18. import org.w3c.dom.Text;
  19. import org.xml.sax.SAXException;
  20. /**
  21.  * @author Administrator
  22.  * 
  23.  */
  24. public class Test {
  25.     /**
  26.      * @param args
  27.      */
  28.     private DocumentBuilderFactory factory;
  29.     private DocumentBuilder build;
  30.     private Document doc;
  31.     public Test() {
  32.         String path = System.getProperty("user.dir")
  33.                 + "//com//jdm//exer1//userinfo.xml";
  34.         factory = DocumentBuilderFactory.newInstance();
  35.         try {
  36.             build = factory.newDocumentBuilder();
  37.             doc = build.parse(new File(path));
  38.         } catch (ParserConfigurationException e) {
  39.            
  40.             e.printStackTrace();
  41.         } catch (SAXException e) {
  42.             e.printStackTrace();
  43.         } catch (IOException e) {
  44.             e.printStackTrace();
  45.         }
  46.         Element element = doc.getDocumentElement();
  47.         Element user = doc.createElement("user");
  48.         Element name = doc.createElement("name");
  49.         Element sex = doc.createElement("sex");
  50.         Element address = doc.createElement("address");
  51.         Element telephone = doc.createElement("telephone");
  52.         Element mobile = doc.createElement("mobile");
  53.         Text nametext = doc.createTextNode("孟德军");
  54.         Text sextext = doc.createTextNode("男");
  55.         Text addresstext = doc.createTextNode("湖北");
  56.         Text telephonetext = doc.createTextNode("123456789");
  57.         Text mobiletext = doc.createTextNode("5658043");
  58.         name.appendChild(nametext);
  59.         sex.appendChild(sextext);
  60.         address.appendChild(addresstext);
  61.         telephone.appendChild(telephonetext);
  62.         mobile.appendChild(mobiletext);
  63.         user.appendChild(name);
  64.         user.appendChild(sex);
  65.         user.appendChild(address);
  66.         user.appendChild(telephone);
  67.         user.appendChild(mobile);
  68.         element.appendChild(user);
  69.         //将文件写入xml文件.
  70.         TransformerFactory transformerfactory = TransformerFactory
  71.                 .newInstance();
  72.         try {
  73.             Transformer transformer = transformerfactory.newTransformer();
  74.             DOMSource domsource = new DOMSource(doc);
  75.             StreamResult result = new StreamResult(new File(path));
  76.             transformer.transform(domsource, result);
  77.         } catch (TransformerConfigurationException e) {
  78.                         e.printStackTrace();
  79.         } catch (TransformerException e) {
  80.             e.printStackTrace();
  81.         }
  82.     }
  83.     public static void main(String[] args) {
  84.                 new Test();
  85.     }
  86. }
  87. 完成了写xml文件的操作!下面开始读//

 

    1. package com.jdm.exer1;
    2. import java.io.File;
    3. import java.io.IOException;
    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.NodeList;
    10. import org.xml.sax.SAXException;
    11. public class Read {
    12.     String path = System.getProperty("user.dir")
    13.             + "//com//jdm//exer1//userinfo.xml";
    14.     public Read() {
    15.         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    16.         try {
    17.             DocumentBuilder builder = factory.newDocumentBuilder();
    18.             Document doc = builder.parse(new File(path));
    19.             NodeList node = doc.getElementsByTagName("user");
    20.             for (int i = 0; i < node.getLength(); i++) {
    21.                 Element element=(Element)node.item(i);
    22.                 System.out.println("姓名:"+element.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
    23.                 System.out.println("性别"+element.getElementsByTagName("sex").item(0).getFirstChild().getNodeValue());
    24.                 System.out.println("地址"+element.getElementsByTagName("address").item(0).getFirstChild().getNodeValue());
    25.                 System.out.println("电话"+element.getElementsByTagName("telephone").item(0).getFirstChild().getNodeValue());
    26.                 System.out.println("手机"+element.getElementsByTagName("mobile").item(0).getFirstChild().getNodeValue());
    27.             }
    28.         } catch (ParserConfigurationException e) {
    29.             e.printStackTrace();
    30.         } catch (SAXException e) {
    31.             e.printStackTrace();
    32.         } catch (IOException e) {
    33.             e.printStackTrace();
    34.         }
    35.     }
    36.     public static void main(String agrs[]) {
    37.         new Read();
    38.     }
    39. }
    40. // 联系我
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值