您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > XML基础教程2版第第4章(DOM解析器)代码
63第4章DOM解析器4.1DOM解析器例子1example4_1.xml?xmlversion=1.0encoding=UTF-8?学生名单姓名张三/姓名姓名李四奖励一等奖学金/奖励/姓名/学生名单JAXPOne.javaimportorg.w3c.dom.*;importjavax.xml.parsers.*;importjava.io.*;publicclassJAXPOne{publicstaticvoidmain(Stringargs[]){try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderdomPaser=factory.newDocumentBuilder();Documentdocument=domPaser.parse(newFile(example4_1.xml));Elementroot=document.getDocumentElement();StringrootName=root.getNodeName();System.out.println(XML文件根节点的名字:+rootName);NodeListnodelist=root.getElementsByTagName(姓名);intsize=nodelist.getLength();for(intk=0;ksize;k++){Nodenode=nodelist.item(k);Stringname=node.getNodeName();Stringcontent=node.getTextContent();64System.out.print(name);System.out.println(:+content);}}catch(Exceptione){System.out.println(e);}}}4.2节点的类型例子2example4_2.xml?xmlversion=1.0encoding=UTF-8?雇员列表雇员姓名张三/姓名年龄25岁/年龄工资3190元/月/工资/雇员雇员姓名李四/姓名年龄35岁/年龄工资4320元/月/工资/雇员/雇员列表JAXPTwo.javaimportorg.w3c.dom.*;importjavax.xml.parsers.*;importjava.io.*;publicclassJAXPTwo{publicstaticvoidmain(Stringargs[]){try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderdomParser=factory.newDocumentBuilder();65Documentdocument=domParser.parse(newFile(example6_2.xml));NodeListnodeList=document.getChildNodes();output(nodeList);}catch(Exceptione){System.out.println(e);}}publicstaticvoidoutput(NodeListnodeList){//output是一个递归方法intsize=nodeList.getLength();for(intk=0;ksize;k++){Nodenode=nodeList.item(k);if(node.getNodeType()==Node.TEXT_NODE){TexttextNode=(Text)node;Stringcontent=textNode.getWholeText();System.out.print(content);}if(node.getNodeType()==Node.ELEMENT_NODE){ElementelementNode=(Element)node;Stringname=elementNode.getNodeName();System.out.print(name+:);NodeListnodes=elementNode.getChildNodes();output(nodes);//递归调用}}}}4.4Element节点例子3example4_3.xml?xmlversion=1.0encoding=UTF-8?商品列表商品名称分类=家电电视机/商品名称66商品名称分类=服装雅格尔西装/商品名称商品名称分类=食品东北大米/商品名称/商品列表JAXPThree.javaimportorg.w3c.dom.*;importjavax.xml.parsers.*;importjava.io.*;publicclassJAXPThree{publicstaticvoidmain(Stringargs[]){try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderdomPaser=factory.newDocumentBuilder();Documentdocument=domPaser.parse(newFile(example6_3.xml));Elementroot=document.getDocumentElement();NodeListnodeList=root.getChildNodes();intsize=nodeList.getLength();for(intk=0;ksize;k++){Nodenode=nodeList.item(k);if(node.getNodeType()==Node.ELEMENT_NODE){ElementelementNode=(Element)node;Stringname=elementNode.getNodeName();Stringid=elementNode.getAttribute(分类);Stringcontent=elementNode.getTextContent();System.out.print(name);System.out.print((+id+));System.out.println(:+content);}}}catch(Exceptione){}}}674.5Text节点例子4example4_4.xml?xmlversion=1.0encoding=UTF-8?同学录姓名张大山居住城市大连市/居住城市联系电话0411-123456/联系电话/姓名姓名刘翠花居住城市北京市/居住城市联系电话010-654321/联系电话/姓名/同学录JAXPFour.javaimportorg.w3c.dom.*;importjavax.xml.parsers.*;importjava.io.*;publicclassJAXPFour{publicstaticvoidmain(Stringargs[]){GiveDatagive=newGiveData();try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderdomPaser=factory.newDocumentBuilder();Documentdocument=domPaser.parse(newFile(example4_4.xml));Elementroot=document.getDocumentElement();NodeListnodeList=root.getChildNodes();give.output(nodeList);System.out.println(一共有+give.m+个Text节点);}catch(Exceptione){}}}classGiveData{intm=0;68publicvoidoutput(NodeListnodeList){//这是一个递归方法intsize=nodeList.getLength();for(intk=0;ksize;k++){Nodenode=nodeList.item(k);if(node.getNodeType()==Node.TEXT_NODE){TexttextNode=(Text)node;Stringcontent=textNode.getWholeText();m++;System.out.print(content);}if(node.getNodeType()==Node.ELEMENT_NODE){ElementelementNode=(Element)node;Stringname=elementNode.getNodeName();System.out.print(name+:);NodeListnodes=elementNode.getChildNodes();output(nodes);}}}}例子5example4_5.xml?xmlversion=1.0encoding=UTF-8?电视机列表名称海尔电视机价格单位='元/台'5238/价格/名称名称星海电视机价格单位='元/台'3660/价格/名称名称长虹电视机价格单位='元/台'5285/价格/名称/电视机列表JAXPFive.javaimportorg.w3c.dom.*;69importjavax.xml.parsers.*;importjava.io.*;publicclassJAXPFive{publicstaticvoidmain(Stringargs[]){GiveDatagive=newGiveData();try{DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();DocumentBuilderdomPaser=factory.newDocumentBuilder();Documentdocument=domPaser.parse(newFile(example4_5.xml));NodeListnodeList=document.getChildNodes();give.output(nodeList);System.out.printf(平均价格:%5.2f%s,give.average/give.m,give.mess);}catch(Exceptione){System.out.println(e);}}}classGiveData{doubleaverage=0,m=0;Stringmess;publicvoidoutput(NodeListnodeList){intsize=nodeList.getLength();for(intk=0;ksize;k++){Nodenode=nodeList.item(k);if(node.getNodeType()==Node.TEXT_NODE){TexttextNode=(Text)node;Stringcontent=textNode.getWholeText();System.out.print(content);Elementparent=(Element)textNode.getParentNode();booleanboo=(parent.getNodeName()).equals(价格);if(
本文标题:XML基础教程2版第第4章(DOM解析器)代码
链接地址:https://www.777doc.com/doc-2857439 .html