使用 JDOM 解析一个 XML 文档(二)
程序员文章站
2022-05-30 09:41:51
...
<?xml version="1.0" encoding="GBK"?>
<root>
<!--This is my comments-->
<hello google="www.google.com">
<world test="hehe">
<aaa a="b" x="y" gg="mm">text content</aaa>
</world>
</hello>
</root>
package com.syh.xml.jdom;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
* 读取(解析)一个 XML 文档 ---> 将文档加载到内存中
* @author Administrator
*
*/
public class JDomTest2 {
public static void main(String[] args) throws Exception {
//构造出 JDOM 的解析器
SAXBuilder builder = new SAXBuilder() ;
// 将文档加载到内存当中 ,并拿到了这个 XML 文档的根节点
Document doc = builder.build(new File("jdom.xml")) ;
//获得 XML 文档的根元素
Element rootEle = doc.getRootElement() ;
System.out.println(rootEle.getName());
//获得指定的元素
Element hello = rootEle.getChild("hello") ;
System.out.println(hello.getName());
System.out.println(hello.getText());
//获得元素的属性
List<Attribute> list = hello.getAttributes() ;
for(Iterator<Attribute> iter = list.iterator() ; iter.hasNext() ; ) {
Attribute attr = iter.next() ;
String attrName = attr.getName() ;
String attrValue = attr.getValue() ;
System.out.println(attrName + " = " + attrValue);
}
//删除元素
hello.removeChild("world") ;
XMLOutputter out = new XMLOutputter(Format.getPrettyFormat().setIndent(" ")) ;
out.output(doc, new FileOutputStream("jdom2.xml")) ;
}
}
下面是在控制台上输出的结果:
root
hello
google = www.google.com
下面是在解析后再次产生一个 XML 文档的结果:
<!-- jdom2.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<root>
<!--This is my comments-->
<hello google="www.google.com" />
</root>
上一篇: npm报错Error: ENOENT: no such file or directory
下一篇: php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法_php技巧
推荐阅读
-
java使用dom4j生成与解析xml文档的方法示例
-
探讨如何使用SimpleXML函数来加载和解析XML文档
-
Java基础之XML介绍与SAX解析、DOM解析XML、JDOM解析、DOM4J解析、XMLEncoder与XMLDecoder的使用以及xstream工具的使用 189~195
-
使用JDOM解析XML(转载,简单又详细)
-
使用JDOM解析XML(转载,简单又详细)
-
一、 vs2013使用Xerces C++ SAX解析XML文档
-
使用DOM解析XML文档
-
使用PHP 5.0 轻松解析XML文档_PHP
-
解析xml文档的一个简单php类
-
探讨如何使用SimpleXML函数来加载和解析XML文档_PHP