xcqInternet应用解决的方案xml解析.pptVIP

  • 6
  • 0
  • 约8.27千字
  • 约 24页
  • 2018-06-28 发布于福建
  • 举报
xcqInternet应用解决的方案xml解析

回顾 XML的概念及意义 XML的文档结构 DTD和Schema两种文档验证方法 XML的显示和格式转化技术了解通信系统的基本组成 目标 XML文档解析的概念 DOM解析XML的方法 SAX解析XML的方法 XML解析的概念 XML 解析 :解析包括读取 XML 文档并确定其结构和内容。Xml的解析分基于事件驱动的解析器( SAX)和基于树的解析器( DOM)。 DOM:(Document Object Model) 文档对象模型,W3C标准;解析器分析文档并在内存里创建对文档内容树状的表达方式,以便调用程序可以从树的顶部开始遍历,按照从一个树单元到另一个单元的引用,从而找到需要的信息。 SAX:(The Simple API for XML)用解析器读取文档,当解析器发现标签时告知程序它发现的标签。 DOM解析 DOM举例--Xml 文件: DOM解析 DOM结构 DOM的包结构 org.w3c.dom.Document:定义分析、创建DOM文档的一系列方法,是操作DOM的基础。 org.w3c.dom.Element:提供了获取,修改XML元素名字和属性的方法; org.w3c.dom.Node:提供了处理节点和子节点的方法。 org.w3c.dom.NodeList:??提供了获得节点个数和当前节点的方法,这样就可以迭代的访问各个节点。 DOM解析 常用 DOM 方法 DocumentBuilderFactory.newDocumentBuilder().parse()?//解析一个外部的XML文件,得到一个Document对象的DOM树? DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()?//初始化一棵DOM树? Document.getDocumentElement().appendChild()?//为一个标签结点添加一个子结点? Document.createTextNode()?//生成一个字符串结点? Node.getChildNodes()?//取得某个结点的所有下一层子结点? Node.removeChild()??//删除某个结点的子结点? Document.getElementsByTagName()?//查找所有指定名称的标签结点? Document.getElementById()?//查找指定名称的一个标签结点,如果有多个符合,则返回某一个,通常是第一个? Element.getAttribute()?//取得一个标签的某个属性的的值? Element.setAttribute()?//设置一个标签的某个属性的的值? Element.removeAttribute()?//删除一个标签的某个属性? TransformerFactory.newInstance().newTransformer().transform()?//将一棵DOM树写入到外部XML文件 DOM解析 DOM解析关键代码 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); String path = d:/internet 应用解决方案/材料/demo.xml ; File xmlFile = new File(path); DocumentBuilder builer = factory.newDocumentBuilder();//创建一个解析器对象 doc = builer.parse(new File(path)); //使解析器指向您的 XML 文档 …… SAX解析 SAX vs DOM: DOM 在内存中建立 XML 文档树。如果文档非常大,DOM 树可能需要很大的内存。 DOM 树包括许多对象表示 XML 源文档的内容。如果只需要文档中的少量信息,创建所有这些对象是一种浪费。 DOM 解析器必须在代码访问之前建立整个 DOM 树。如果解析非常大的 XML 文档,在等待解析器完成之前会有明显的延迟。 SAX解析 SAX解析XML的基本步骤 : 首先获得一个实现了SAX接口的解析器 写一个符合SAX标准的处理器类,并且把这个类注册到刚做好的解析器 解析器会把XML文件作为一个流读出来,然后再把文件流转换成一个事件流,这个事件流中的内容包括“文档开始”、“文档结束”、“元素开始”、“元素结束” 根据事件调用注册到解析器里的处理器里面的相应的方法,在解析器进行XML文件解析的同时,应用程序可以调用解析器提供的方法,对解析器的行为进行控制或获取解析器的状态 。 SAX解析 SAX AP

文档评论(0)

1亿VIP精品文档

相关文档