- 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 解析 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?
books
book email=zhoujunhui
namerjzjh/name
pricejjjjjj/price
/book
/books
简单的不能再简单了。但是该有的都有了,根元素、属性、子节点。好了,能反应问题就行了,下面来看看解析这个 XML 文件的 Java 代码吧!
1 public class DomParse {
public DomParse(){
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
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.println(name1);
24
}
25
if(node.getNodeName().equals(price)){
26
String price=node.getFirstChild().getNodeValue();
27
System.out.println(price);
28
}
29
}
30
}
31
}
32
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackT
您可能关注的文档
- iphone与诺基亚手机.doc
- ipod及psp便携式配件成为买家从环球通网站.doc
- ipo发行上市关键点及时间节点.ppt
- ipo过程中会计师的话语权将显着提升.doc
- ipo超详细的流程介绍_不看后悔[1].ppt
- ipos专业终端平台系统介绍.ppt
- iptv机顶盒常见提示出现原因说明.pdf
- iptv机顶盒抓包和日志.ppt
- ip地址补充习题.ppt
- ip子网划分实例.doc
- 师缘主题课件必威体育精装版完整版本.pptx
- 基于偏好MOEA_D算法的气发动机多目标优化标定研究.pdf
- 师范技能课件比赛一等奖必威体育精装版完整版本.pptx
- 师范生初中美术说课课件必威体育精装版完整版本.pptx
- 师范技能课件图片素材库必威体育精装版完整版本.pptx
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 教学设计-高中英语外研版(2019)必修第三册.docx
- 师范生技能大赛PPT课件语文必威体育精装版完整版本.pptx
- 基于扭矩的双燃料发动机控制策略研究.pdf
- 1.2.1 等差数列的概念及其通项公式(教学设计)高二数学(北师大版2019选择性必修第二册).docx
- 师范文化课件必威体育精装版完整版本.pptx
文档评论(0)