DOM操作XML的步骤.
DOM 解析 XML 的步骤
1) 创建一个 DocumentBuilderFactory 的对象
2) 创建一个 DocumentBuilder 对象
3) 通过DocumentBuilder的parse(...)方法得到Document对象
4) 通过 getElementsByTagName(...)方法获取到节点的列表
5) 通过 for 循环遍历每一个节点
6) 得到每个节点的属性和属性值
7) 得到每个节点的节点名和节点值
-------------------这里是演示代码
package ParseXML; import java.io.IOException; import javax.swing.event.ChangeListener; 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; /** * 使用DOM解析XML文档 * @author 小王同学 * */ public class TestDOM { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException { //1.创建一个DocumentBuilderFactory对象 DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); //2.创建一个DocumentBuilder对象 DocumentBuilder db =dbf.newDocumentBuilder(); //3.通过DocumentBuilder的parse()方法得到Document对象 Document doc = db.parse("book.xml");//这里就得到了xml文档 //4.通过getElementsByTagName()方法获取到节点的列表 NodeList bookList= doc.getElementsByTagName("book");//获取books节点下的所有节点 System.out.println(bookList.getLength()); //5.通过for循环遍历每一个站点 for(int i=0;i<bookList.getLength();i++){ //6.得到每一个节点的属性和属性值 这里得到的是所有的book节点 Node book =bookList.item(i);//获取节点 NamedNodeMap attrs= book.getAttributes(); //获取节点的属性的值 for(int j=0;j<attrs.getLength();j++){ Node node= attrs.item(j); System.out.println("节点的名称为:"+node.getNodeName()+"\t节点的属性值为:"+node.getNodeValue()); } } //7.得到每个节点的节点名和个节点值 for(int i=0;i<bookList.getLength();i++){//得到每一个book节点. Node book= bookList.item(i); NodeList bookchilds= book.getChildNodes(); for(int j=0;j<bookchilds.getLength();j++){ Node child= bookchilds.item(j); int type= child.getNodeType();//获取节点的类型. if(type ==child.ELEMENT_NODE)//判断是否为元素节点. System.out.println(child.getNodeName()+"\t"+child.getTextContent()); } } } }
-----------------------这里是运行的结果.