XML解析教学.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 XML解析方式 1 SAX解析与DOM解析的区别 1 DOM解析XML过程 2 DOM解析代码 2 SAX解析XML过程 3 SAX解析代码 4 DOM4j解析 5 DOM4j解析优缺点 5 DOM4j解析过程 6 DOM4J解析代码 6 DOM4J其他相关 7 XML解析方式 DOM解析 Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件 解析原理: A) 加载文件xml文件: - 触发 startDocument() 方法 B) 当到元素开头时: - 触发 startElemnet()方法 C) 如果Sax不能随机定位到每个元素 Sax只能读出xml文件中的内容 Sax是目前解析xml速度最快的 Sax是基于事件的(observer) 2.DOM的缺陷: DOM先读取在解析,把所有的xml配置文件读到内存中来.只能解析数据量比较少的xml文件 DOM解析XML过程 1. 首先创建DOM解析的解析工厂实例(我们将通过工厂实例创建DOM解析器实例) DOM解析工厂(DocumentBuilderFactory) 2. 通过DOM工厂创建DOM解析器 DOM解析器(DocumentBuilder) 创建XML文件流,调用DOM解析器的parse方法,将XML转换成为一个Document对象 (Document) 读取Document 对象中的节点,及属性 方法在API中提供 DOM解析代码 import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class DomParse { //DOM解析方法 public void parse(InputStream in) throws Exception{ //创建一个文档解析工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //根据解析工厂创建一个解析器 DocumentBuilder db = dbf.newDocumentBuilder(); //将解析器将文件流转换为文档对象 Document doc = db.parse(in); //根据文档对象查找到 XML的根节点 Element root = doc.getDocumentElement(); //用循环将所的节点打印出来 for(Node node=root.getFirstChild();node!=null;node=root.getNextSibling()){ System.out.println([节点名称:+node.getNodeName()+,节点类型:+node.getNodeType()+]); } //获取以student标记的所有节点元素 NodeList nlist = doc.getElementsByTagName(student); for(int i=0;inlist.getLength();i++){ Element e = (Element)nlist.item(i); System.out.println(学号:+e.getAttribute(no)+,姓名:+e.getAttribute(name)); } //承机访问节点元素 Element stu=doc.getElementById(s001); System.out.println(学号:+stu.getAttribute(no)+,姓名:+stu.getAttribute(name)); } public static void main(String[] args) { DomParse dp = new DomParse(); try { dp.parse(DomParse.class.getResourceAsStream(student.xml)); } catch (Exception e) { System.out.println(错

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档