加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml解析

发布时间:2020-12-16 06:01:04 所属栏目:百科 来源:网络整理
导读:XML解析方式分为两种:dom和sax dom:(Document Object Model,即文档对象模型) 是 W3C 组织推荐的解析XML 的一种方式。 sax: (Simple API for XML) 不是官方标准,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它。 XML解析器 Crimson(sun)
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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读