package dome4jTest; 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("root"); root.addAttribute("ClassA", "Test2");
root.addAttribute("ClassB", "Test2");
Element author1 = root.addElement("author").addAttribute("name", "James").addAttribute("location", "UK")
.addText("James Strachan").addAttribute("Test1", "Values").addText("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;
} }
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;
} }