《Java 核心技术》XML 文件解析的示例程序
											参考:《Java核心技术卷II:高级特性》第7版第12章XML【完整的程序代码】
 程序代码:
程序代码:import import import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ParsingXMLDocument {
    public static void main(String[] args) {
        try {
            parsingXMLDocument("C:/xml_file.xml");
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void parsingXMLDocument(final String XML_FILE_PATH)
            throws ParserConfigurationException, SAXException, IOException {
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
        File file = new File(XML_FILE_PATH);
        if (!(file.exists() && file.isFile())) { return; }
        Document document = documentBuilder.parse(file);
        Element rootElement = document.getDocumentElement();
        System.out.println("<" + rootElement.getNodeName() + ">");
        NodeList rootElementChildNodeList = rootElement.getChildNodes();
        for (int rootElementChildNodeIndex = 0;
                 rootElementChildNodeIndex < rootElementChildNodeList.getLength();
                 rootElementChildNodeIndex++) {
            Node node = rootElementChildNodeList.item(rootElementChildNodeIndex);
            if (node instanceof Element) {
                Element nodeElement = (Element) node;
                System.out.println("\t<" + nodeElement.getNodeName() + ">");
                NodeList nodeElementChildNodeList = nodeElement.getChildNodes();
                for (int nodeElementChildNodeIndex = 0;
                         nodeElementChildNodeIndex < nodeElementChildNodeList.getLength();
                         nodeElementChildNodeIndex++) {
                    Node childNode = nodeElementChildNodeList.item(nodeElementChildNodeIndex);
                    if (childNode instanceof Element) {
                        Element childNodeElement = (Element) childNode;
                        System.out.println(
                                "\t\t<" + childNodeElement.getNodeName() + ">" +
                                childNodeElement.getTextContent() +
                                "</" + childNodeElement.getNodeName() + ">"
                                );
                    }
                }
                System.out.println("\t</" + nodeElement.getNodeName() + ">");
            }
        }
        System.out.println("</" + rootElement.getNodeName() + ">");
    }
}【C:\xml_file.xml】的内容
 程序代码:
程序代码:<?xml version="1.0" encoding="UTF-8"?>
<!-- This is a comment. -->
<root>
    <node>
        <key1>value1</key1>
        <key2>value2</key2>
    </node>
    <node>
        <key1>value3</key1>
        <key2>value4</key2>
    </node>
</root>【程序输出】
 程序代码:
程序代码:<root>
    <node>
        <key1>value1</key1>
        <key2>value2</key2>
    </node>
    <node>
        <key1>value3</key1>
        <key2>value4</key2>
    </node>
</root>										
					
	
 
											







 
	     
											

