采用DocumentBuilderFactory来进行XML文件的解析

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());
								}
							}
						}
					}
					
				}
			}
		}
		
		
		
	}
	
	
}

你可能感兴趣的:(java,xml,String,File,null,Class)