import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationExcep
tion;
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 ParseXml {
public static void main(String[] args) {
// 解析收藏信息.xml,获得手机品牌和型号
// 创建解析器工厂对象()返回一个工程实例
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
// 解析器工厂对象创建解析器
DocumentBuilder builder = factory.newDocumentBuilder();
// 解析器对象指定XML文件创建Document对象
Document document=builder.parse("收藏信息.xml");
// 以Document对象为起点操作DOM树
NodeList brands= document.getElementsByTagName_r("Brand");
//遍历nodeList,取出个节点
for(int i=0;i
//每一个Brand节点
Node node=brands.item(i);
//将node转化成元素
Element eleBrand=(Element)node;
//获得属性输出
String brandName=eleBrand.getAttribute("name");
System.out.println(brandName);
//继续找node下面的节点,就是《Type》
NodeList types= eleBrand.getChildNodes();
for(int j=0;j
Node typeNode=types.item(j);
// 判断节点是否为元素,是元素就转换成Element类型
//获得节点类型,是元素的时,才能转换成元素
if (typeNode.getNodeType()==Node.ELEMENT_NODE) {
Element typeEle=(Element)typeNode;
String typeAttribute=typeEle.getAttribute("name");
System.out.println(typeAttribute);
}
}
}
} catch (ParserConfigurationExcep
tion e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}