xml解析

XML解析方式分为两种:dom和sax
dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的解析XML 的一种方式。
sax: (Simple API for XML) 不是官方标准,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它。
XML解析器
Crimson(sun)、Xerces(IBM)、Aelfred2(dom4j)
XML解析开发包
Jaxp(sun)、Jdom、dom4j、pull(android的sdk自带)

JAXP是Sun 提供的一套XML解析API
JAXP很好的支持DOM和SAX解析方式
JAXP 开发包是J2SE的一部分,包括以下包或子包
javax.xml
org.w3c.dom
org.xml.sax
在javax.xml.parsers 包中,定义了几个工厂类,程序员调用这些工厂类,可以得到对xml文档进行解析的DOM 或SAX 的解析器对象
//获得实例工厂   *javax.xml.parsers.DocumentBuilderFactory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//获得解析  *javax.xml.parsers.DocumentBuilderFactory
DocumentBuilder builder = factory.newDocumentBuilder();
//获得document --解析xml文档   java.io.FileNotFoundException    *org.w3c.dom.Document
Document document = builder.parse("books.xml");  //指java项目的根路径下的文件

2、获得需要的内容:获得所有的书籍
//获得所有的书籍元素
NodeList bookElements = document.getElementsByTagName("book");


3、遍历
* 获得长度
bookElements.getLength()
* 获得指索引的节点
bookElements.item(i);
* 通过元素获得,当前元素指定的属性
Element.getAttribute("id");
* 获得当前节点的名称
Node.getNodeName();
* 获得当前节点的子节点的所有文本
Node.getTextContent()
* 例如:<book><title>Java</title></book>   --> 字符串"<title>Java</title>"


二、保存
//获得持久化对象实例工厂
TransformerFactory factory = TransformerFactory.newInstance();

//获得持久化对象
Transformer transformer = factory.newTransformer();
//将内存数据,保存到硬盘

//源:document  将document封装到Source
Source xmlSource = new DOMSource(document);
//结果:books.jasp.xml  将“文件路径”封装到Result
Result outputTarget = new StreamResult("books.jasp.xml");
transformer.transform(xmlSource, outputTarget);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值