JAVA解析XML文件(一)---DOM方式
来源:互联网 发布:mac word2016 取代功能 编辑:程序博客网 时间:2024/05/22 07:58
JAVA解析XML文件(一)—DOM方式解析
1.XML文件内容:
<?xml version="1.0" encoding="UTF-8"?><bookstore> <book id="1"> <name>冰与火之歌</name> <author>乔治·马丁</author> <year>2015</year> <price>200</price> </book> <book id="2"> <name>光荣与梦想</name> <year>2004</year> <price>150</price> <publish>科学出版社</publish> </book></bookstore>
2.JAVA代码:
public DocumentBuilder getDocumentBuilder(){ //创建DocumentBuilderFactory对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //创建DocumentBuilder对象 DocumentBuilder db = null; try { db = dbf.newDocumentBuilder(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } return db; }
public void domParser(){ try { //通过DocumentBuilder对象的parse方法加载xml文件到当前项目下 Document document = getDocumentBuilder().parse("MyFirstXML.xml"); //获取book标签的列表 NodeList booklist = document.getElementsByTagName("book"); System.out.println("一共有"+booklist.getLength()+"本书"); for(int i=0; i<booklist.getLength(); i++){ System.out.println("***************开始遍历第"+(i+1)+"本书的内容***************"); //通过book标签的索引获取节点 Node book = booklist.item(i); //取得节点对应的属性值,可能有一个或者多个属性 NamedNodeMap attrs = book.getAttributes(); //通过getlength()方法可以获取属性的长度,也就是有几个属性 System.out.println("第"+(i+1)+"本书共有"+attrs.getLength()+"个属性"); for(int j=0; j<attrs.getLength(); j++){ //获取节点属性的列表 Node attr = attrs.item(j); //获取节点属性的名称和值 System.out.print("第"+(j+1)+"个属性的名称是:"+attr.getNodeName()+"--->"); System.out.println("它的值为:"+attr.getNodeValue()); } //当已知该标签有一个属性为id时,可以用Element来获取属性及它的值// //将节点强转为element类型// Element book = (Element)booklist.item(i);// //通过getAttribute方法获取属性值// String attrvalue = book.getAttribute("id");// System.out.println("id属性的值为:"+attrvalue); //获取子节点及其对应的属性值 //获取子节点 NodeList childnodes = book.getChildNodes(); System.out.println("第"+(i+1)+"个节点共有"+ childnodes.getLength()+"个子节点"); //遍历子节点 for(int k=0; k<childnodes.getLength(); k++){ if(childnodes.item(k).getNodeType() == Node.ELEMENT_NODE){ System.out.print("第"+(k+1)+"个子节点的名称是:"+ childnodes.item(k).getNodeName()); //获取子节点的值要先用到getFirstChild()方法,再调用其getValue方法, //否则只能获取到null值 //System.out.println("--->对应的值为:"+childnodes.item(k).getNodeValue()); //System.out.println("--->对应的值为:"+childnodes.item(k).getFirstChild().getNodeValue()); System.out.println("--->对应的值为:"+childnodes.item(k).getTextContent()); } } System.out.println("***************遍历第"+(i+1)+"本书的内容结束***************"); System.out.println(); } } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
0 0
- JAVA解析XML文件(一)---DOM方式
- Java之xml文件解析一(DOM方式解析xml文件)
- java解析XML文件(DOM方式)
- JAVA创建XML文件(一)---DOM方式创建XML
- Java之DOM方式解析XML文件
- Java 应用DOM方式解析XML文件
- Java中的xml文件dom方式解析
- java 解析XML文件(DOM & SAX)(一)
- XML文件解析(DOM方式)
- XML文件解析(DOM方式)
- XML文件解析(DOM方式)
- DOM方式解析XML文件
- java与xml学习[DOM方式解析XML文件]
- XML学习04-Java中DOM方式解析XML文件
- java 解析dom 树方式来解析XML文件
- java解析XML(DOM方式)
- JAVA XML 解析 DOM 方式
- Java解析XML(一) 使用DOM读取XML文件
- 复制对象
- Android压缩图片的几种方法
- cocos2dx异步网络UI界面更新设计
- CentOS 6.5下配置PPTP VPN客户端
- iOS 7应用开发公开课笔记 L13:Core Data and Table View
- JAVA解析XML文件(一)---DOM方式
- LeetCode题解——First Missing Positive
- VS2010中 C++创建DLL
- 资本寒冬?看看2015年天使投资人投过的那些项目
- R语言实现 logistic 模型
- Fiddler网络拦截一
- Unity& leapmotion开发实录
- Oracle 常用SQL技巧收藏
- 自学QT之libpng warning: iCCP: known incorrect sRGB profile