浏览 1764 次
锁定老帖子 主题:XML 文件的操作(二)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-01-08
<?xml version="1.0" encoding="gb2312"?> <?xml-stylesheet type="text/xsl" href="students.xsl"?> <students> <student sn="01"> <name>张三</name> <age>18</age> </student> <student sn="02"> <name>李四</name> <age>20</age> </student> </students> DOM循环遍历获取所有节点 package com.ibm.xml; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.xml.sax.SAXException; /** * 循环遍历获取所有节点 * @author Administrator * */ public class DOMPrinter { /** * 打印节点名称 * @param node */ public static void printNodeInfo(Node node) { System.out.println(node.getNodeName()+" : "+node.getNodeValue()); } /** * 通过节点判断 * @param node */ public static void printNode(Node node) { short nodeType=node.getNodeType(); switch(nodeType) { //指令节点 case Node.PROCESSING_INSTRUCTION_NODE: System.out.println("-----------PI start-----------"); printNodeInfo(node); System.out.println("-----------PI end-----------"); break; //元素节点 case Node.ELEMENT_NODE: System.out.println("-----------Element start-----------"); printNodeInfo(node); System.out.println("-----------Element end-----------"); NamedNodeMap attrs=node.getAttributes(); int attrNum=attrs.getLength(); for(int i=0;i<attrNum;i++) { Node attr=attrs.item(i); System.out.println("-----------Attribute start-----------"); printNodeInfo(attr); System.out.println("-----------Attribute end-----------"); } break; case Node.TEXT_NODE: System.out.println("-----------Text start-----------"); printNodeInfo(node); System.out.println("-----------Text end-----------"); break; default: break; } Node child=node.getFirstChild(); while(child!=null) { printNode(child); child=child.getNextSibling(); } } public static void main(String arge[]){ DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); try { DocumentBuilder db=dbf.newDocumentBuilder(); Document doc=db.parse(new File("students.xml")); DOMPrinter.printNode(doc); printNode(doc); } catch (ParserConfigurationException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } catch (SAXException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |