📄 testxml.java
字号:
import java.io.FileInputStream;import javax.xml.parsers.*;import org.w3c.dom.*;/** Created on 2004-6-2**java读取XML文档*利用DoM来读取一个XML文档的内容,并将其打印出来**/public class TestXML {public static void main(String[] args) {Document doc;DocumentBuilderFactory factory;DocumentBuilder docBuilder;Element root;String elementName;FileInputStream in;String fileName;try{//get the xml filefileName = System.getProperty("user.dir");fileName = fileName+"/sample.xml";in = new FileInputStream(fileName);//解析XML文件,生成document对象factory = DocumentBuilderFactory.newInstance();factory.setValidating(false);docBuilder = factory.newDocumentBuilder();doc = docBuilder.parse(in);//解析成功System.out.println("parse successfull");//获取XML文档的根节点root = doc.getDocumentElement();elementName = root.getNodeName();//打印根节点的属性printAttributes(root);//打印该文档全部节点System.out.println("打印全部节点");printElement(root,0);}catch(Exception exp){exp.printStackTrace();}}//打印某个节点的全部属性public static void printAttributes(Element elem){NamedNodeMap attributes;int i,max;String name,value;Node curNode;attributes = elem.getAttributes();max = attributes.getLength();for(i=0;i<max;i++){curNode = attributes.item(i);name = curNode.getNodeName();value = curNode.getNodeValue();System.out.println("\t"+name+" = "+value);}}//打印所有的节点的名称和值//改方法采用递归方式打印文档的全部节点public static void printElement(Element elem,int depth){String elementName;NodeList children;int i,max;Node curChild;Element curElement;String nodeName,nodeValue;//elementName = elem.getNodeName();//获取输入节点的全部子节点children = elem.getChildNodes();//按一定格式打印输入节点for(int j=0;j<depth;j++){System.out.print(" ");}printAttributes(elem);//采用递归方式打印全部子节点max = children.getLength();for(i=0;i<max;i++){curChild = children.item(i);//递归退出条件if(curChild instanceof Element){curElement = (Element)curChild;printElement(curElement,depth+1);}else{nodeName = curChild.getNodeName();nodeValue = curChild.getNodeValue();for(int j=0;j<depth;j++)System.out.print(" ");System.out.println(nodeName+" = "+nodeValue);}}}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -