- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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(错
您可能关注的文档
- WORD教案人教版3课时 第4课 输入文稿.doc
- WORD教学案例1.doc
- WORD教学案例3[1].doc
- word快捷命令及小技巧.doc
- word快速使用技巧.doc
- Word里添加背景音乐的方法.doc
- word论文排版使用技巧.doc
- word排版常用技巧.doc
- word排版技巧集锦.doc
- Word排版学习.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2025年内蒙古时事政治考试试卷带解析必考题.docx VIP
- 人教版数学三年级下册单元试卷【1-8合集,含答案】.pdf VIP
- 2025年内蒙古时事政治考试试卷带解析参考答案.docx VIP
- (答案)奥赛经典-奥林匹克数学中的几何问题---习题与讲解(第1-2章).pdf VIP
- 奥赛经典奥林匹克数学中的几何问题.pdf VIP
- 奥的斯电梯ACD4 原理图纸注释.pdf VIP
- 2025国家能源集团新疆哈密能源化工有限公司社会招聘(51人)笔试参考题库附答案解析.docx VIP
- 建设项目环境影响报告表.PDF VIP
- 呼吸科利用PDCA循环提高住院患者吸入剂使用正确率品管圈.pptx VIP
- 2024-2030年全球气动导弹弹射发射器(PMEL)行业现状、重点企业分析及项目可行性研究报告.docx
文档评论(0)