package xml;
import java.io.File;
import java.io.FileInputStream;
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 DocumentBuilderTest {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
FileInputStream in = new FileInputStream(new File("d:/weather.xml"));
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
//该处返回的Document是JAVA库中内带的 org.w3c.dom.Document
Document doc = db.parse(in);
NodeList nodeList = doc.getElementsByTagName("current_conditions");
if(nodeList != null && nodeList.getLength()>0) {
for (int count = 0; count < nodeList.getLength(); count++) {
Node n = nodeList.item(count);
NodeList sonList = n.getChildNodes();
if(sonList!=null && sonList.getLength()>0){
System.out.println("========================");
for (int i = 0; i < sonList.getLength(); i++) {
System.out.println("########################");
Node son = sonList.item(i);
if("#text".equals(son.getNodeName())) {
} else {
System.out.println("son.getNodeName() is " + son.getNodeName());
System.out.println("son.getNodeValue() is " + son.getNodeValue());
System.out.println("son.getTextContent() is " + son.getTextContent());
NamedNodeMap map = son.getAttributes();
if(map != null && map.getLength()>0) {
for(int j=0;j<map.getLength();j++) {
Node attrs = map.item(j);
System.out.println("attrs.getNodeName() is " + attrs.getNodeName());
System.out.println("attrs.getNodeValue() is " + attrs.getNodeValue());
}
}
}
}
}
}
}
}
}
采用DocumentBuilderFactory来进行XML文件的解析
最新推荐文章于 2024-04-25 19:48:31 发布