工厂模式的具体实现类图 DoaumentBuilderFactory mewnstanceo Docum entBuilderF acorympl1 YmewDocum entBuildero 定义的抽象方法 Doaumentauil derFactorym pl2 NeDocumentBu|lder迈回 个 DocumentBuilder对 nernst ance方法根具一个外 部的环境变量判断该生成的 具体的工厂类的实现 Document Builder Document ◆ parsed
工厂模式的具体实现类图
DOM ■解析器设置 可以控制由 DocumentBuilderFactory创建 的解析器上的各种设置 setcoalescing:确定解析器是否将 CDATA节点转成文本 并将 CDATA节点与其周围的文本节点合并。缺省值是 false setExpand Entity References:确定是否扩展外部实体引用。 如果为true,则将外部数据插入文档。缺省值是true setIgnoringcomments:确定是否忽略文件中的注释。缺 省值是 false setIgnoringElement Whitespace:确定是否忽 略元素内容中的空白。缺省值是 false setNameSpaceAware:确定解析器是否注意名称空间信息 缺省值是 false setValidating:缺省情况下,解析器将不验证文档。将该参 数设置为true以打开验证
DOM ◼ 解析器设置 ◼ 可以控制由 DocumentBuilderFactory 创建 的解析器上的各种设置 ◼ setCoalescing:确定解析器是否将 CDATA 节点转成文本, 并将 CDATA 节点与其周围的文本节点合并。缺省值是 false。 ◼ setExpandEntityReferences:确定是否扩展外部实体引用。 如果为 true,则将外部数据插入文档。缺省值是 true ◼ setIgnoringcomments:确定是否忽略文件中的注释。缺 省值是 false。 ◼ setIgnoringElementContentWhitespace:确定是否忽 略元素内容中的空白。缺省值是 false。 ◼ setNameSpaceAware:确定解析器是否注意名称空间信息。 缺省值是 false。 ◼ setValidating:缺省情况下,解析器将不验证文档。将该参 数设置为 true 以打开验证
DOM A example: try t DocumentBuilderFactory dbf documentBuilderF'actory newIns tance( dbf setval dating(true) DocumentBuilder d cf newDocumentBuilder( doc d.parse(docFile); 1 catch (Exception e)(
DOM ◼ A example:
DOM 解析器异常 为了更好地查明问题,可以捕获与创建和使用解析器各 种方面相关的特定异常 DocumentBuilderFactory dbf docu uilderFactory. new Ins tance() DocumentBuilder db dbf newDocwmentBuilder o Oc E i catch (javax xml parsers Parser ConfigurationException pce) I System out pr int In( The parser was not conf igured correctly " System exit(1) System out. pr intIn Cannot read input file. ystem exit(1) I catch (org. xml. sax SAXException se) I System out. pr intIn( Please specify an XM source. t(1)
DOM ◼ 解析器异常 ◼ 为了更好地查明问题,可以捕获与创建和使用解析器各 种方面相关的特定异常
DOM 遍历 旦解析完文档,并且创建了 Document之后,应用程 序可以遍历结构来复查、查找或显示信息 ■获取根元素ε遍历文档是从根元素开始。格式良好的文档 只有一个根元素 import org. w3c dom Elementi Element root doc. getDocumentElemento)i System. out. println ("The root element is"+ root. getNodeName ())i
DOM ◼ 遍历 ◼ 一旦解析完文档,并且创建了 Document 之后,应用程 序可以遍历结构来复查、查找或显示信息 ◼ 获取根元素:遍历文档是从根元素开始。格式良好的文档 只有一个根元素 … Element root = doc.getDocumentElement(); System.out.println("The root element is " + root.getNodeName()); … import org.w3c.dom.Element;