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. 在CentOS 6.4 x86_32中使用Rhythmbox听MP3

    Linux中的Rhythmbox音乐播放器,是没有自带MP3音乐解码器的,所以必须得自行安装相应的音乐或视频解码器.好了,不废话…… # cd /tmp # wget http://dl.atrpms ...

  2. HMAC加密的消息摘要码

    HMAC(Hash Message Authentication Code)哈希消息授权码,它在消息摘要算法(例如MD5,SHA系列算法)的基础上,使用密钥对消息摘要进行加密.它相当于一个马甲,内里可 ...

  3. Java使用代理服务器

    HTTP协议是基于TCP协议的,TCP协议在Java中的体现就是套接字.在了解HTTP协议的基础上,完全可以通过TCP来实现一套HTTP库,这个库可以发起网络请求和接受网络请求.只要能用URLConn ...

  4. Android BLE 蓝牙编程(三)

    上节我们已经可以连接上蓝牙设备了. 本节我们就要获取手环的电池电量和计步啦. 在介绍这个之前我们需要先了解下什么是 服务 什么是 UUID 我们记得上节中我们item监听事件的回调的返回值是Bluet ...

  5. sqlserver 游标

    DECLARE ChangeInvCodeCursor CURSOR FOR SELECT A.name AS tablecolumn,C.name AS tablename FROM sys.col ...

  6. transformClassesWithDexForDebug

    转自:http://blog.sina.com.cn/s/blog_6f3828770102w30b.html

  7. SSH整合报错:No result defined for action and result input

    目前发现这个问题主要是在Action中的execute返回值时,没有对应的result name而引起的.很有可能是由于程序执行中出错了,但是对 应的Action中没有添加 input的result  ...

  8. centos 防火墙

    让防火墙放通tcp的 80端口: [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙以 ...

  9. BZOJ 2462: [BeiJing2011]矩阵模板

    2462: [BeiJing2011]矩阵模板 Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 915  Solved: 432[Submit][Stat ...

  10. MySQL复制配置(多主一从)

    复制多主一从 replicaion 原理 复制有三个步骤:(分为三个线程 slave:io线程 sql线程 master:io线程) 1.master将改变记录到二进制日志(binary log)中( ...