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;
        }
    
    }
  • 相关阅读:
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    how to use automapper in c#, from cf~
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/4638510.html
Copyright © 2011-2022 走看看