3quot namequot陈拥强 quot sexquotmale quot agequot22quot /gt 另一种是 AUTO 模式,该模式支持生成嵌套的 XML 元素,默认情况下,FROM 子句中的每个表将映射到一个 XML 元素,SELECT 子句中的列将映射为属性,该方法如下SELECT FROM teamInfo FOR XML AUTO 执行命令后,得到 XML 文档如下:ltteamInfo idquot1quot namequot邹天涌 quot sexquotmale quot agequot23quot /gtltteamInfo idquot2quot namequot陈福 quot sexquotmale quot agequot21quot /gtltteamInfo idquot3quot namequot陈拥强 quot sexquotmale quot agequot22quot /gt EXPLICIT 模式和 PATH 模式能够更好的控制查询结果生成的 XML 格式,适合比较复杂的文档,PATH 模式的一个实例如下SELECT FROM teamInfo FOR XML PATH 执行命令后,得到 XML 文档如下:ltrowgt ltidgt1lt/idgt ltnamegt邹天涌 lt/namegt ltsexgtmale lt/sexgt ltagegt23lt/agegtlt/rowgtltrowgt ltidgt2lt/idgt ltnamegt陈福 lt/namegt ltsexgtmale lt/sexgt ltagegt21lt/agegtlt/rowgtltrowgt ltidgt3lt/idgt ltnamegt陈拥强 lt/namegt ltsexgtmale lt/sexgt ltagegt22lt/agegtlt/rowgt2.3 利用 Java DOM 解析 XML 实际上 Java 解析 XML 有三种常用的方法:DOM,SAX 和 JDOM,本实验我们只学习了JAVA DOM 的解析。
用于解析的实例文档 duby2.xml 片段如下:ltxml versionquot1.0quot encodingquotUTF-8quotgtltTeamMembergtltPERSON PERSONIDquotE01quotgt ltNAMEgt邹天涌lt/NAMEgt ltNUMBERgt0800710230lt/NUMBERgt ltTELgtlt/TELgt ltEMAILgtharlizou163.comlt/EMAILgtlt/PERSONgtltPERSON PERSONIDquotE02quotgt ltNAMEgt陈福lt/NAMEgt ltNUMBERgt0800710209lt/NUMBERgt ltTELgtlt/TELgt ltEMAILgtchenfu012sina.comlt/EMAILgtlt/PERSONgtltPERSON PERSONIDquotE03quotgt ltNAMEgt陈拥强lt/NAMEgt ltNUMBERgt0800710210lt/NUMBERgt ltTELgtlt/TELgt ltEMAILgtxiaoq1314gmail.comlt/EMAILgtlt/PERSONgtlt/TeamMembergt DOM 在 Java 语言 中的 实 现, 主 要靠 以 下 Java 的 类 和接 口: 解 析器 工 厂 类(DocumentBuilderFactory) ,解析器类(DocumentBuilder) ,文档树模型(Document),节点列表类(NodeList) ,节点类(Node) ,元素类(Element) ,属性类(Attr) 。
用于解析实例文档 duby2.xml 的 Java 源代码如下:import javax.xml.parsers.org.w3c.dom.class dom static void mainString args try DocumentBuilderFactory factory DocumentBuilderFactory.newInstance DocumentBuilder builderfactory.newDocumentBuilder Document docbuilder.parsequotcandidate.xmlquot.out.printlndoc.getImplementation NodeList nl doc.getElementsByTagNamequotPERSONquot for int i0iltnl.getLengthi Element nodeElement nl.itemi System.out.printquotNAME: quot System.out.printlnnode.getElementsByTagNamequotNAMEquot.item0.getFirstChild.getNodeValue System.out.printquotADDRESS: quot System.out.printlnnode.getElementsByTagNamequotADDRESSquot.item0.getFirstChild.getNodeValue System.out.printquotTEL: quot System.out.printlnnode.getElementsByTagNamequotTELquot.item0.getFirstChild.getNodeValue System.out.printquotFAX: quot System.out.printlnnode.getElementsByTagNamequotFAXquot.item0.getFirstChild.getNodeValue System.out.printquotEMAIL: quot System.out.printlnnode.getElementsByTagNamequotEMAILquot.item0.getFirstChild.getNodeValue System.out.println catchException e e.printStackTrace 用 用 在 DOS 下, javac 命令编译源代码, java 命令执行程序, 结果如图 2.3-1 所示。
图 2.3-1Java DOM 解析的 XML 文档2.4 .
上一篇:
FAT12文件系统基本格式
下一篇:
注重内涵建设实现社区卫生服务可持续发展——上海市杨浦区殷行社区卫生服务中心介绍