DOM解析XML资料
DOM解析XML文件
1.DOM解析XML文件
<?xml version="1.0" encoding="UTF-8"?> <groups> <group name="group1" ap_num="3"> <ap name="ap1_1" mac="00:00:00:00:01:01" ip="127.0.1.1">1</ap> <ap name="ap1_2" mac="00:00:00:00:01:02" ip="127.0.1.2">2</ap> <ap name="ap1_3" mac="00:00:00:00:01:03" ip="127.0.1.3">3</ap> </group> <group name="group2" ap_num="4"> <ap name="ap2_1" mac="00:00:00:00:02:01" ip="127.0.2.1"></ap> <ap name="ap2_2" mac="00:00:00:00:02:02" ip="127.0.2.2"></ap> <ap name="ap2_3" mac="00:00:00:00:02:03" ip="127.0.2.3"></ap> <ap name="ap2_4" mac="00:00:00:00:02:04" ip="127.0.2.4"></ap> </group> <group name="group3" ap_num="2"> <ap name="ap3_1" mac="00:00:00:00:03:01" ip="127.0.3.1"></ap> <ap name="ap3_2" mac="00:00:00:00:03:02" ip="127.0.3.2"></ap> </group> </groups>
package dom; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class DomParseTest { public void test() throws Exception{ InputStream input = this.getClass().getClassLoader().getResourceAsStream("dom/ap_group.xml"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(input); Element element = document.getDocumentElement(); //group 节点 NodeList groupNodes = element.getElementsByTagName("group"); for(int i=0;i<groupNodes.getLength();i++){ Element groupElement = (Element) groupNodes.item(i); System.out.println(groupElement.getAttribute("name")); //group下的子节点 NodeList apNodes = groupElement.getChildNodes(); System.out.println(" 字节点个数:"+apNodes.getLength()); for(int j=0;j<apNodes.getLength();j++){ if(apNodes.item(j).getNodeType()==Node.ELEMENT_NODE){ Element apElement = (Element) apNodes.item(j); System.out.println(" value个数:"+apElement.getChildNodes().getLength()); NodeList valueNodes = apElement.getChildNodes(); for(int k=0;k<valueNodes.getLength();k++){ System.out.println(" "+valueNodes.item(k).getNodeValue()); } System.out.println(" ap属性name值"+apElement.getAttribute("name")); } } } input.close(); } public static void main(String[] args) { DomParseTest test = new DomParseTest(); try { test.test(); } catch (Exception e) { e.printStackTrace(); } } }