zoukankan      html  css  js  c++  java
  • Java 读写XML

      1 package dome4jTest;
      2 
      3 import java.io.FileWriter;
      4 import java.io.IOException;
      5 import java.net.URL;
      6 import java.util.Iterator;
      7 
      8 import org.dom4j.Attribute;
      9 import org.dom4j.Document;
     10 import org.dom4j.DocumentException;
     11 import org.dom4j.DocumentHelper;
     12 import org.dom4j.Element;
     13 import org.dom4j.io.OutputFormat;
     14 import org.dom4j.io.SAXReader;
     15 import org.dom4j.io.XMLWriter;
     16 
     17 /**
     18  * @author Young
     19  * @version 1.0
     20  *
     21  */
     22 public class Dom4j {
     23 
     24     private static String file = "output.xml";
     25     private static URL url;
     26 
     27     public static void main(String[] args) throws DocumentException, IOException {
     28         createDocument();
     29         
     30         url = new URL(
     31                 "http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=xml&ak=sXF8krbnX1LXbz0TpzivvOS2");
     32         
     33        
     34         SAXReader reader = new SAXReader();
     35 
     36         Document document = reader.read(url);
     37         
     38         Element root = document.getRootElement();
     39 //        System.out.println(root.getName());
     40 //         String arg0="results";
     41 //        String arg1="weather_data";
     42 //        System.out.println(root.element(arg0).element(arg1).element("date").getText());
     43 //        
     44         // iterate through child elements of root
     45         for (Iterator i = root.elementIterator(); i.hasNext();) {
     46             Element element = (Element) i.next();
     47             if(!element.getName().equals("results"))
     48             {
     49                 System.out.println("++++++++++++++++++++++++++");
     50                 continue;
     51             }
     52             
     53             for(Iterator k = element.elementIterator(); k.hasNext();)
     54             {
     55                 Element childElement = (Element) k.next();
     56                 if(!childElement.getName().equals("weather_data"))
     57                 {
     58                     System.out.println("==============================");
     59                     continue;
     60                 }
     61 //                System.out.println("get Name -->" + childElement.getName());
     62 //                System.out.println("get type -->" + childElement.getData());
     63 //                System.out.println("get type -->" + childElement.getText());
     64                 
     65                 for(Iterator m = element.elementIterator(); m.hasNext();)
     66                 {
     67                     Element grandElement = (Element) m.next();
     68                     System.out.println("get Name -->" + grandElement.getName());
     69                     System.out.println("get Path-->" + grandElement.getPath());
     70                     System.out.println("get Text -->" + grandElement.getText());
     71                     System.out.println("get nodeCount -->" + grandElement.nodeCount());
     72                     System.out.println("get Node Type-->" + grandElement.getNodeType());
     73                     System.out.println("get Node Type-->" + grandElement.getNodeTypeName());
     74                     
     75                 }
     76                 
     77             }
     78          
     79             // iterate through attributes of root
     80             for (Iterator j = element.attributeIterator(); j.hasNext();) {
     81                 Attribute attribute = (Attribute) j.next();
     82                 System.out.println("attribute name " + element.getName() + " ->" + attribute.getName());
     83                 System.out.println("attribute name " + element.getName() + " ->" + attribute.getPath());
     84                 
     85             }
     86         }
     87 
     88         // iterate through child elements of root with element name "foo"
     89         for (Iterator i = root.elementIterator("results"); i.hasNext();) {
     90             Element results = (Element) i.next();
     91             System.out.println("results -->" + results.getName());
     92             System.out.println("results -->" + results.getData());
     93             // iterate through attributes of root
     94             for (Iterator j = results.attributeIterator(); j.hasNext();) {
     95                 Attribute attribute = (Attribute) j.next();
     96                 System.out.println("attribute name " + results.getName() + " ->" + attribute.getName());
     97                 System.out.println("attribute name " + results.getName() + " ->" + attribute.getPath());
     98                 
     99             }
    100         }
    101 
    102     }
    103 
    104     public static Document createDocument() throws IOException {
    105         OutputFormat format = OutputFormat.createPrettyPrint();
    106         XMLWriter writer = new XMLWriter(new FileWriter("output.xml"), format);
    107 
    108         Document document = DocumentHelper.createDocument();
    109         Element root = document.addElement("root");
    110 
    111         root.addAttribute("ClassA", "Test2");
    112         root.addAttribute("ClassB", "Test2");
    113         Element author1 = root.addElement("author").addAttribute("name", "James").addAttribute("location", "UK")
    114                 .addText("James Strachan").addAttribute("Test1", "Values").addText("Test");
    115 
    116         Element author2 = root.addElement("author").addAttribute("name", "Bob").addAttribute("location", "US")
    117                 .addText("Bob McWhirter");
    118 
    119         Element author3 = root.addElement("author").addAttribute("name", "Jack").addAttribute("location", "US")
    120                 .addText("Jack Ma");
    121 
    122         writer.write(document);
    123         writer.close();
    124         return document;
    125     }
    126 
    127 }
    import java.io.FileWriter;
    import java.io.IOException;
    import java.net.URL;
    import java.util.Iterator;
    
    import org.dom4j.Attribute;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    
    /**
     * @author Young
     * @version 1.0
     *
     */
    public class Dom4j {
    
        private static String file = "output.xml";
        private static URL url;
    
        public static void main(String[] args) throws DocumentException,
                IOException {
            createDocument();
    
            url = new URL(
                    "http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=xml&ak=sXF8krbnX1LXbz0TpzivvOS2");
    
            SAXReader reader = new SAXReader();
    
            Document document = reader.read(url);
    
            Element root = document.getRootElement();
            // System.out.println(root.getName());
            // String arg0="results";
            // String arg1="weather_data";
            // System.out.println(root.element(arg0).element(arg1).element("date").getText());
            //
            // iterate through child elements of root
            for (Iterator i = root.elementIterator(); i.hasNext();) {
                Element element = (Element) i.next();
                if (!element.getName().equals("results")) {
                    System.out.println("++++++++++++++++++++++++++");
                    continue;
                }
    
                for (Iterator k = element.elementIterator(); k.hasNext();) {
                    Element childElement = (Element) k.next();
                    if (!childElement.getName().equals("weather_data")) {
                        System.out.println("==============================");
                        continue;
                    }
                    // System.out.println("get Name -->" + childElement.getName());
                    // System.out.println("get type -->" + childElement.getData());
                    // System.out.println("get type -->" + childElement.getText());
    
                    for (Iterator m = element.elementIterator(); m.hasNext();) {
                        Element grandElement = (Element) m.next();
                        System.out.println("get Name -->" + grandElement.getName());
                        System.out.println("get Path-->" + grandElement.getPath());
                        System.out.println("get Text -->" + grandElement.getText());
                        System.out.println("get nodeCount -->"
                                + grandElement.nodeCount());
                        System.out.println("get Node Type-->"
                                + grandElement.getNodeType());
                        System.out.println("get Node Type-->"
                                + grandElement.getNodeTypeName());
    
                    }
    
                }
    
                // iterate through attributes of root
                for (Iterator j = element.attributeIterator(); j.hasNext();) {
                    Attribute attribute = (Attribute) j.next();
                    System.out.println("attribute name " + element.getName()
                            + " ->" + attribute.getName());
                    System.out.println("attribute name " + element.getName()
                            + " ->" + attribute.getPath());
    
                }
            }
    
            // iterate through child elements of root with element name "foo"
            for (Iterator i = root.elementIterator("results"); i.hasNext();) {
                Element results = (Element) i.next();
                System.out.println("results -->" + results.getName());
                System.out.println("results -->" + results.getData());
                // iterate through attributes of root
                for (Iterator j = results.attributeIterator(); j.hasNext();) {
                    Attribute attribute = (Attribute) j.next();
                    System.out.println("attribute name " + results.getName()
                            + " ->" + attribute.getName());
                    System.out.println("attribute name " + results.getName()
                            + " ->" + attribute.getPath());
    
                }
            }
    
        }
    
        public static Document createDocument() throws IOException {
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter writer = new XMLWriter(new FileWriter("output.xml"), format);
    
            Document document = DocumentHelper.createDocument();
            Element root = document.addElement("note");
    
            root.addAttribute("ClassA", "Test2");
            root.addAttribute("ClassB", "Test2");
            root.addComment("This is a comment");
            Element author1 = root.addElement("author")
                    .addAttribute("name", "James").addAttribute("location", "UK")
                    .addText("James Strachan").addAttribute("Test1", "Values")
                    .addText("Test").addElement("Test").addAttribute("A", "B").addText("This is Test");
    
            Element author2 = root.addElement("author").addAttribute("name", "Bob")
                    .addAttribute("location", "US").addText("Bob McWhirter");
    
            Element author3 = root.addElement("author")
                    .addAttribute("name", "Jack").addAttribute("location", "US")
                    .addText("Jack Ma");
    
            writer.write(document);
            writer.close();
            return document;
        }
    
    }
  • 相关阅读:
    关于Android架构那些事
    关于投资那些事
    关于单例模式的N种实现方式
    关于如何避免Android中Bitmap引起的OutOfMemoryError
    关于Java设计模式的一些概况
    阿里云服务器使用记录:服务器运行的网页无法访问
    毕业设计进度:3月22日
    前端框架:bootstrap多个模态框跳转使用时发生的页面左移问题
    毕业设计进度:3月20日
    毕业设计进度:3月19日
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/4638510.html
Copyright © 2011-2022 走看看