Java中的XML编程 (2).ppt
《Java中的XML编程 (2).ppt》由会员分享,可在线阅读,更多相关《Java中的XML编程 (2).ppt(25页珍藏版)》请在三一办公上搜索。
1、第9章 Java中的XML编程,9.1 使用DOM解析XML,解析器工厂类DocumentBuilderFactory DocumentBuilderFactory类是DOM中的解析器工厂类,开发这要使用DOM操作XML首先必须需要建立一个解析器工厂实例,以便利用这个工厂类实例来获得一个具体的解析器对象。示例代码如下:DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();,9.1 使用DOM解析XML,解析器类DocumentBuilder DocumentBuilder类是DOM中的解析器类,开发者可以使其从XML文档
2、获取DOM文档实例。当获得一个解析器工厂类对象后,使用它的静态方法newDocumentBuilder()将可以获得一个DOM解析器对象,示例代码如下:DocumentBuilder db=dbf.newDocumentBuilder();,文档树模型Document,Document对象代表了一个XML文档的树模型。所有其它的Node,都以一定的顺序包含在Document对象之内,排列成一个树形的结构。解析器类DocumentBuilder的parse()方法接受一个XML文档名作为输入参数,将返回一个Document实例 示例代码:Document doc=db.parse(message
3、.xml);,此外还可以把要解析的XML文档转化为输入流,然后将输入流对象作为parse()方法的输入参数,以便DOM解析器解析它,示例代码如下:InputStream is=new FileInputStream(message.xm);Document doc=db.parse(is);使用Document对象的getElementsByTagName()方法,可以得到一个NodeList对象,一个Node对象代表了一个XML文档中的一个标签元素,而NodeList对象所代表的是一个Node对象的列表。NodeList nl=doc.getElementsByTagName(message
4、);,主要的方法有:createAttribute(String):用给定的属性名创建一个Attr对象,并可在其后使用setAttributeNode方法来放置在某一个Element对象上面。createElement(String):用给定的标签名创建一个Element对象,代表XML文档中的一个标签,然后就可以在这个Element对象上添加属性或进行其它的操作。createTextNode(String):用给定的字符串创建一个Text对象,Text对象代表了标签或者属性中所包含的纯文本字符串。如果在一个标签内没有其它的标签,那么标签内的文本所代表的Text对象是这个Element对象的唯
5、一子对象。getElementsByTagName(String):返回一个NodeList对象,它包含了所有给定标签名字的标签。getDocumentElement():返回一个代表这个DOM树的根节点的Element对象,也就是代表XML文档根元素的那个对象。,节点列表类NodeList,节点列表类NodeList就是代表了一个包含一个或者多个Node的列表。可以简单的把它看成一个Node的数组,可以通过下列方法来获得列表中的元素:GetLength():返回列表的长度。Item(int):返回指定位置的Node对象。可以使用NodeList对象的item()方法来得到列表中的每一个Nod
6、e对象,节点类Node,Node对象代表了文档树中的一个抽象的节点。Node对象所包含的主要的方法有:appendChild(org.w3c.dom.Node):添加一个子节点,并放在所有子节点的最后,如果这个子节点已经存在,则先把它删掉再添加进去。getFirstChild():如果节点存在子节点,则返回第一个子节点,getLastChild()方法返回最后一个子节点。getNextSibling():返回在DOM树中这个节点的下一个兄弟节点,getPreviousSibling()方法返回其前一个兄弟节点。getNodeName():根据节点的类型返回节点的名称。getNodeType()
7、:返回节点的类型。getNodeValue():返回节点的值。,节点类Node,hasChildNodes():判断是不是存在有子节点。hasAttributes():判断这个节点是否存在有属性。getOwnerDocument():返回节点所处的Document对象。insertBefore(org.w3c.dom.Node new,org.w3c.dom.Node ref):在给定的一个子对象前再插入一个子对象。removeChild(org.w3c.dom.Node):删除给定的子节点对象。replaceChild(org.w3c.dom.Node new,org.w3c.dom.Nod
8、e old):用一个新的Node对象代替给定的子节点对象。要提取message标签内的内容,通常会使用Node对象的getNodeValue()方法:,元素类Element,Element对象所包含的主要的方法有:getElementsByTagName(String):返回一个NodeList对象,它包含了在这个标签中其下的子孙节点中具有给定标签名字的标签。getTagName():返回一个代表这个标签名字的字符串。getAttribute(String):返回标签中给定属性名称的属性的值。在这儿需要主要的是,应为XML文档中允许有实体属性出现,而这个方法对这些实体属性并不适用。这时候需要用
9、到getAttributeNodes()方法来得到一个Attr对象来进行进一步的操作。getAttributeNode(String):返回一个代表给定属性名称的Attr对象。,属性类Attr,Attr对象代表了某个标签中的属性。Attr继承于Node,但是因为Attr实际上是包含在Element中的,它并不能被看作是Element的子对象,因而在DOM中Attr并不是DOM树的一部分Attr其实是被看作包含它的Element对象的一部分,它并不作为DOM树中单独的一个节点出现。这一点在使用的时候要同其它的Node子对象相区别。,解析器工厂类DocumentBuilderFactory,解析器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java中的XML编程 2 Java 中的 XML 编程
链接地址:https://www.31ppt.com/p-6509626.html