传智播客Dom4J毕向东.ppt

上传人:sccc 文档编号:4925579 上传时间:2023-05-23 格式:PPT 页数:21 大小:150.01KB
返回 下载 相关 举报
传智播客Dom4J毕向东.ppt_第1页
第1页 / 共21页
传智播客Dom4J毕向东.ppt_第2页
第2页 / 共21页
传智播客Dom4J毕向东.ppt_第3页
第3页 / 共21页
传智播客Dom4J毕向东.ppt_第4页
第4页 / 共21页
传智播客Dom4J毕向东.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《传智播客Dom4J毕向东.ppt》由会员分享,可在线阅读,更多相关《传智播客Dom4J毕向东.ppt(21页珍藏版)》请在三一办公上搜索。

1、北京传智播客教育,DOM4J,讲师:毕向东,北京传智播客教育,XML文档,张三20北京李四23上海,北京传智播客教育,XML文档的解析,XML文档的解析方式:DOMDOM解析器使用树形模型,把XML文档转化为一个包含其内容的树,并可以对树进行遍历。SAXSAX解析器采用了基于事件的模型,解析XML文档的时候可以触发一系列的事件。JDOMJDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。DOM4JDOM4J是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点。,北京传智播客教育,XML文档的节点,DOM(Document

2、Object Model)文档对象模型DOM的三层模型将HTML、XML文档定义成树形结构。文档中的标签,属性,文本等都封装成了节点对象。封装成对象的好处就是更易于操作这些节点。DOM本身就是对外暴露的一套API。,北京传智播客教育,XML文档的节点,一个XML文档中只有一个根节点没有父节点的元素节点元素节点根节点和根节点中的所有标签都是元素节点属性节点 id就是属性节点文本节点zhangsan zhangsan就是文本节点注释节点 xml文档中的注释信息,北京传智播客教育,DOM4J,DOM在java平台上的应用dom4j是一套开源的类库。集成的 XPath(路径查询语言)支持、XML Sc

3、hema(约束模式文档)支持。具体操作:获取到dom4j的jar包以及帮助文档。将jar包设置到classpath中,就可以使用dom4j中提供的对象,进行xml文档的解析了。查看帮助文档了解对象的使用。,北京传智播客教育,XML文档基本操作Document,获取xml文档对象Document。File xmlFile=new File(“test.xml”);SAXReader reader=new SAXReader();Document xmlDoc=reader.read(xmlFile);,北京传智播客教育,XML文档基本操作Element,获取根元素对象Element root=x

4、mlDoc.getRootElement();获取根元素名称String elementName=root.getName();获取直接子元素对象通过元素名称获取元素对象Element element=root.element(“元素名称);获取所有直接子元素对象集合List elementList=root.elements();,北京传智播客教育,XML文档基本操作Element,获取元素对象中的文本获取element元素的内部文本String text=element.getText();获取element子元素内部文本String text=element.elementText(“子

5、元素名称”);,北京传智播客教育,练习,将XML文件中的所有文本节点信息打印如:张三 20 北京李四 23 上海,北京传智播客教育,XML文档基本操作Attribute,获取元素属性对象通过属性名获取元素属性对象Attribute attribute=element.attribute(“属性名称);通过索引获取属性对象Attribute attribute=element.attribute(0);获取所有属性对象集合List attributeList=root.attributes();获取属性值通过属性对象String value=attribute.getValue();通过元素对象

6、String value=element.attributeValue(“属性名称”);,北京传智播客教育,DOM4J的体系结构,Document:用于描述XML文档。Element:用于描述XML文档中的元素。Attribute:用于描述XML文档中的元素的属性。,北京传智播客教育,XML文档基本操作创建,创建文档DocumentDocument document=DocumentHelper.createDocument();创建元素Element element=document.addElement(“元素名称);创建属性element.addAttribute(“属性名”,“属性值)

7、;添加属性方法返回的是原元素对象。如同StringBuffer。创建文本element.addText(“文本);,北京传智播客教育,XML文档基本操作删除节点,remove(Element element)remove(Attribute attribute)remove(Text text)remove(Node node)Node接口的子类对象都可以移除注意:remove是移除直接子节点时使用parentElement.remove(childElement);,北京传智播客教育,XML文档基本操作转换字符串,将节点变成字符串Node接口中的asXML()方法。将xml规则的字符串转换成

8、xmlDocumentString xmlStr=“”+“zhaoliu”+”25”;Document xmlDoc=DocumentHelper.parseText(xmlStr);,北京传智播客教育,XML文档基本操作建立xml文件,建立xml文件FileWriter fw=new FileWriter(“students2.xml”);XMLWriter writer=new XMLWriter(fw);writer.write(document);writer.close();建立漂亮的xml文档,可以指定字符编码OutputFormat format=OutputFormat.cre

9、atePrettyPrint();format.setEncoding(“GBK);XMLWriter writer=new XMLWriter(fw,format);,北京传智播客教育,XPath介绍,XPath 是在 XML 文档中查找信息的语言 XPath 是通过元素和属性进行查找XPath简化了Dom4j查找节点的过程使用XPath必须导入jaxen-1.1-beta-6.jar否则出现NoClassDefFoundError:org/jaxen/JaxenException,北京传智播客教育,XPath语法,北京传智播客教育,查询节点,获取所有符合条件的节点selectNodes(String xpathExpression)返回List集合获取符合条件的单个节点selectSingleNode(String xpathExpression)返回一个Node对象。如果符合条件的节点有多个,那么返回第一个。,北京传智播客教育,XPath练习,获取年龄大于22的所有学生的姓名1.定义xpath表达式2.既然是所有,通过selectNodes方法获取到所有的student元素节点。,北京传智播客教育,学生信息管理系统,该程序可以根据用户名的需求,完成基本的添加,删除,查询,修改等操作。设计组成:描述学生描述功能(增删改查)描述对XML文档的操作操作控制台,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号