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;
    }

}

 

posted @ 2015-07-11 14:04  to be crazy  阅读(432)  评论(0编辑  收藏  举报