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

Java 读写XML的更多相关文章

  1. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  2. Java读写XML代码示例

    采用技术:dom4j 需要jar包:dom4j-1.6.1.jar 主类如下---- public class dom4jTestXML { /**  *   * 方法描述:读取XML文件示例 备 注 ...

  3. JAVA对XML文件的读写(有具体的代码和解析

    XML 指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享. xml指令 处理指令, ...

  4. java通过dom读写xml文件

    java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...

  5. JAVA学习笔记 -- 读写XML

    XML是一种可扩展标记语言 以下是一个完整的XML文件(也是下文介绍读写XML的样本): <? xml version="1.0" encoding="UTF-8& ...

  6. 【网络爬虫】【java】微博爬虫(四):数据处理——jsoup工具解析html、dom4j读写xml

    之前提到过,对于简单的网页结构解析,可以直接通过观察法.手工写正则解析,可以做出来,比如网易微博.但是对于结构稍微复杂点的,比如新浪微博,如果还用正则,用眼睛一个个去找,未免太麻烦了. 本文介绍两个工 ...

  7. JAVA对XML文件的读写

    XML 指可扩展标记语言(EXtensible Markup Language),是独立于软件和硬件的信息传输工具,应用于 web 开发的许多方面,常用于简化数据的存储和共享. xml指令处理指令,简 ...

  8. xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写xml

    xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定 ...

  9. Java获取XML节点总结之读取XML文档节点

    dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...

随机推荐

  1. 在WebAPI使用Session

    最近在改写WebApp时要将以前用泛型处理例程写的Captcha 改成使用WebApi 来实作机制,在实作的过程中发现使用IRequiresSessionState session也无法使用(cont ...

  2. C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

  3. 微信小程序之知乎日报

    上一次的<微信小程序之小豆瓣图书>制作了一个图书的查询功能,只是简单地应用到了网络请求,其他大多数小程序应有的知识.而本次的示例是知乎日报,功能点比较多,页面也比上次复杂了许多.在我编写这 ...

  4. DayPilot 7.9.3373 去掉DEMO

    更新升级倒是蛮快的,多了Gantt图,此处下载先: http://files.cnblogs.com/files/pccai/DayPilot_2.0_4.0_7.9.3373.rar

  5. 基于FPGA的飞机的小游戏

    基于FPGA的飞机的小游戏 实验原理 该实验主要分为4个模块,采用至上而下的设计方法进行设计.由50M的晶振电路提供时钟源,VGA显示控制模块.图形显示控制模块.移动模块的时钟为25M,由时钟分频电路 ...

  6. Win10激活KMS

    Windows 10是目前微软主推的Windows系统,Win10 相对之前的Win7/8是吸取二者之长,发展而来! 目前新装的Windows10默认没有激活的 芝麻开们:http://pan.bai ...

  7. 图解Javascript原型链

    本文尝试阐述Js中原型(prototype).原型链(prototype chain)等概念及其作用机制.上一篇文章(图解Javascript上下文与作用域)介绍了Js中变量作用域的相关概念,实际上关 ...

  8. wpf打开文夹和打开文件

    WPF调用WinForm中的 OpenFileDialog 和 FolderBrowserDialog 来实现响应的功能 OpenFileDialog openFileDialog = new Ope ...

  9. iOS 分析一个支持GIF的UIImage扩展:SwiftGIF

    Github:https://github.com/bahlo/SwiftGif 这个extension代码不多,主要通过Apple的ImageIO框架进行解析GIF. 整个扩展最核心还是下面的函数, ...

  10. [JavaEE]设计模式之SOLID原则

    1. S  The Single Responsibility Principle  单一责任原则 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THA ...