<?xml version="1.0" encoding="UTF-8"?> <book> <图书 id="1" name="java">我是java</图书> <图书 id="2" name="c++">我是c++</图书> <图书 id="3" name="php">我是php</图书> </book>
package ceshi;
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.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class CeXml {
private Document document;
private Node node,nodes;
public CeXml(String url) throws ParserConfigurationException, SAXException, IOException{
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
document = documentBuilder.parse(new File(url));
}
/*
* 读取单个节点
*/
public void book1(){
//获取第一个节点
node = document.getElementsByTagName("图书").item(0);
System.out.println("输出节点文本值:" + node.getTextContent());
//获取节点属性的id
nodes = node.getAttributes().getNamedItem("id");
System.out.println("输出属性值:" + nodes.getTextContent());
}
/*
* 读取多个节点
*/
public void book2(){
NodeList nodelist = document.getElementsByTagName("图书");
for(int i=0;i<nodelist.getLength();i++){
node = nodelist.item(i);
NamedNodeMap nodemap = node.getAttributes();
System.out.println("节点文本值:" + node.getTextContent());
for(int k=0;k<nodemap.getLength();k++){
nodes = nodemap.item(k);
System.out.println("属性:"+nodes.getNodeName()+"=" + nodes.getTextContent());
}
}
}
}
package ceshi;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
public class Ce1 {
/**
* @param args
* @throws IOException
* @throws SAXException
* @throws ParserConfigurationException
*/
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
// TODO 自动生成方法存根
CeXml cexml = new CeXml("src/text.xml");
cexml.book1();
cexml.book2();
}
}