【慕课笔记】2-2 应用DOM方式解析XML—使用DOM解析XML文件的属性名和属性值

来源:互联网 发布:excel对应数据替换 编辑:程序博客网 时间:2024/04/28 02:52

2-1 使用DOM解析XML文件的属性名和属性值


import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class Test {public static void main(String[] args) {DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();try {DocumentBuilder db=dbf.newDocumentBuilder();Document document=db.parse("haha.xml");//获取所有book结点的结合NodeList nodelist=document.getElementsByTagName("book");System.out.println("共有"+nodelist.getLength()+"本书");for(int i=0;i<nodelist.getLength();i++){////通过item(i)方法 获取一个book结点 nodelist索引值从0开始 //Node book=nodelist.item(i);////获取book结点的所有属性//NamedNodeMap attrs=book.getAttributes();//System.out.println("第"+(i+1)+"本书有"+attrs.getLength()+"个属性");////遍历book的属性//for(int j=0;j<attrs.getLength();j++){////通过item(index)方法获取bokk结点的每个属性//Node attr=attrs.item(j);////获取属性名//System.out.println(attr.getNodeName());////获取属性值//System.out.println(attr.getNodeValue());////}//将book结点进行强制类型转换,转换成Element类型Element book=(Element) nodelist.item(i);String attrValue=book.getAttribute("id");System.out.println("id的值为"+attrValue);}}catch (SAXException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (ParserConfigurationException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


0 0
原创粉丝点击