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());
}
}
}
}
-----------------------这里是运行的结果.


浙公网安备 33010602011771号