XML是一种可拓展的标记语言 区别于HTML
有下列几点区别
1:XML用来存储数据
比如
把oracle中的数据移植到MysqL中,就可以通过XML,且XML数据存储小
2.XML具有可拓展性表现在XML中的标识可以由用户自定义,而HTML中的标识符是固定的不可修改
3.XML是树型结构,只有一个根节点
解析XML有四种方法
DOM4j 即DOM for Java,DoM,Sax,JDOM
DOM4J最优,dom和JDOm性能最差,sax稍差
DOM解析实例
<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book id="1">
<name>Java编程思想</name>
<title>JAVA</title>
<price>50</price>
</book>
<book id="2">
<name>Java核心技术</name>
<title>JAVA</title>
<price>90</price>
</book>
</books>
public class Explain {
/**
* @param args
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) {
//定义一个SAXReader用于读取XML文件
SAXReader reader=new SAXReader();
try {
Document doc=reader.read(new File("D:\\XML\\book.xml"));
//定义一个XML的根元素
Element root=doc.getRootElement();
Iterator<Element> books=root.elementIterator("book");//获得其子元素
while(books.hasNext())
{
Element book=books.next();
//获得book的属性id
Attribute attr=book.attribute("id");
System.out.println("id:"+attr.getValue());
//获得name
Element name=book.element("name");
System.out.println("name"+name.getText());
//获得title
Element title=book.element("title");
System.out.println("title"+title.getText());
//获得price
Element price=book.element("price");
System.out.println("price"+price.getText());
System.out.println("----------------------------");
}
} catch (DocumentException e) {
// Todo Auto-generated catch block
e.printstacktrace();
}
}
}
//XML其实是一棵树的不同表现形式