- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java中用dom解析xml的经典入门级文档
java中用dom解析xml的经典入门级文档
前言用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。JAXP接口包含了三个包:(1)org.w3c.dom W3C推荐的用于XML标准规划文档对象模型的接口。(2)org.xml.sax 用于对XML进行语法分析的事件驱动的XML简单API(SAX)(3)javax.xml.parsers解析器工厂工具,程序员获得并配置特殊的特殊语法分析器。二、前提DOM编程不要其它的依赖包,因为JDK里自带的JDK里含有的上面提到的org.w3c.dom、org.xml.sax 和javax.xml.parsers包就可以满意条件了。三、使用DOM解析XML文档我们现在来看看DOM是如何解析XML的吧!同样的,我将从一个简单的不能再简单的例子来说明DOM是如何解析XML文档的,先让我们看看XML是什么内容吧:?xml version=1.0 encoding=gb2312?booksbook email=zhoujunhuinamerjzjh/namepricejjjjjj/price/book/books简单的不能再简单了。但是该有的都有了,根元素、属性、子节点。好了,能反应问题就行了,下面来看看解析这个XML文件的Java代码吧!1 public class DomParse {2???? public DomParse(){3??????? DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();4??????? try {5??????????? DocumentBuilder dombuilder=domfac.newDocumentBuilder();6??? ??? ??? InputStream is=new FileInputStream(bin/library.xml);7??? ??? ??? Document doc=dombuilder.parse(is);9?? ??? ???? Element root=doc.getDocumentElement();10??? ??? ? NodeList books=root.getChildNodes();11??? ????? if(books!=null){12??? ??? ? ??? for(int i=0;ibooks.getLength();i++){13??? ?? ? ?? ????? Node book=books.item(i);14??? ? ??? ? ????? if(book.getNodeType()==Node.ELEMENT_NODE){15??? ? ??? ? ??? ????? String email=book.getAttributes().getNamedItem(email).getNodeValue();16??? ? ??? ? ??? ????? System.out.println(email);17??? ??? ? ? ??? ????? for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()){18???? ?? ? ??????????? ??? if(node.getNodeType()==Node.ELEMENT_NODE){19??? ??? ? ? ??? ??? ??? ????? if(node.getNodeName().equals(name)){20??? ??? ? ? ??? ??? ??? ??? ????? String name=node.getNodeValue();21??? ?? ? ?? ??? ??? ??? ??? ????? String name1=node.getFirstChild().getNodeValue();22? ??? ? ??? ??? ??? ??? ??? ????? System.out.println(name);23??? ?? ? ?? ??? ??? ??? ??? ????? System.out.p
文档评论(0)