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