java解析xml
Posted xudong_98
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java解析xml相关的知识,希望对你有一定的参考价值。
例如:xml文档内容如下
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book2>
<name>fire22</name>
<author>joe2s</author>
<year>2014</year>
<price>89</price>
</book2>
<book> //对应方法中的Attr1属性
<name>fire22</name>//Attr2属性
<author>joe2s</author>
<year>2014</year>
<price>89</price>
</book>
</bookstore>
利用dom进行解析:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class readxml
public String getObj(String fname,String Attr1,String Attr2) throws Exception
String valueGet="null";
SAXReader saxReader = new SAXReader();
/*Document xmlDocument = saxReader.read(new File("E:/new.xml"));*/
//创建InputStream对象,指向硬盘中的XML文件
InputStream is = new FileInputStream(new File(fname));
//通过字节流对象,加载硬盘中的XML文件到内存中
Document xmlDocument = saxReader.read(is);
//获取根节点
Element rootElement = xmlDocument.getRootElement();
//显示根节点的名字
System.out.println(rootElement.getName());
//获取根节点下面的直接子节点个数和名字
List<Element> elementList = rootElement.elements(Attr1);
for(Element element : elementList)
//分别输出子节点title,price,author的内容
valueGet =element.element(Attr2).getText().trim();
return valueGet;
main方法:
public class func
public static void main(String[] args) throws Exception
readxml rx=new readxml();
String name=rx.getObj("book.xml", "book", "name");
System.out.println(name);
以上是关于java解析xml的主要内容,如果未能解决你的问题,请参考以下文章