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. vector容器删除某些元素且释放内存

    1,size和capacity size: 指目前容器中实际有多少元素,对应的resize(size_type)会在容器尾添加或删除一些元素,来调整容器中实际的内容,使容器达到指定的大小. capac ...

  2. java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)

    多线程应用中,经常会遇到这种场景:后面的处理,依赖前面的N个线程的处理结果,必须等前面的线程执行完毕后,后面的代码才允许执行. 在我不知道CyclicBarrier之前,最容易想到的就是放置一个公用的 ...

  3. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  4. caffe的python接口学习(8):caffemodel中的参数及特征的抽取

    如果用公式  y=f(wx+b) 来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项.f是激活函数,有sigmoid.relu ...

  5. 订餐系统之微信支付,踩了官方demo的坑

        最近一个项目要增加微信支付的功能,想来这个东西出来这么久了,按微信提供的应该可以很快搞定的,结果提供的demo( JS API网页支付)中各种坑,咨询他们的客服,态度倒是非常好,就是解决不了问 ...

  6. Mysql 索引实现原理. 聚集索引, 非聚集索引

    Mysql索引实现: B-tree,B是balance,一般用于数据库的索引.使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度.而B+tree是B-tree的一个变种,My ...

  7. 基于NFS的分布式持久化

    基于容器的微服务架构中,分布式持久化方案并没有一个默认的最好方案,这里使用NFS来作为容器持久化方案. NFS服务需要在服务器及需要挂载的客户端上分别安装配置. nfs-utils包含服务: rpcb ...

  8. jsp项目部署

    每新建一个项目都要发布到服务器,也就是项目部署,在tomcat中的  tomcat\Tomcat 6.0\webapps  路径下就会新建你的项目文件夹 webapps是tomcat的默认访问路径,很 ...

  9. Bioinformatics Glossary

    原文:http://homepages.ulb.ac.be/~dgonze/TEACHING/bioinfo_glossary.html Affine gap costs: A scoring sys ...

  10. npm 使用记录

    在 Mint 下安装 pencil,折腾半天,发现它对 firefox 的支持,只到 46.0 .本来打算研究下怎么用 xulrunner 来跑 pencil 这个 web 应用,查看项目资源的时候, ...