Java xml创建及解析
来源:互联网 发布:做视频短片的软件 编辑:程序博客网 时间:2024/06/05 12:03
手写一个简单的xml文件:
<?xml version="1.0" encoding="utf-8"?><bookstore><book id="1"><name>狗带是怎样炼成的</name> <author>bob</author> <year>2008</year> <price>89</price></book><book id="2"><name>狗带是怎样炼成的</name> <author>楚留香</author> <year>2017</year> <price>100</price> <language>English</language></book></bookstore>
java程序解析xml文件:
目的:获取节点名,节点值,属性名,属性值. 获得里面的数据
4种方式:
(1).DOM解析(2)SAX解析--------(JAVA官方提供)
(3)DOM4J解析(4)JDOM解析
DOM解析示例:
package DOMTest;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.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class DOMTest {public static void main(String[] args) {//1.创建一个DocumentBuilderFactory对象DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();//2.DocumentBuilder的对象的parse方法解析xmltry {//3.创建一个DocumentBuilder对象DocumentBuilder db=dbf.newDocumentBuilder();//4.DocumentBuilder对象.parse方法解析Document document=db.parse("books.xml");//5.获取所有book节点集合NodeList bookList=document.getElementsByTagName("book");System.out.println("一共有"+bookList.getLength()+"节点");//6.遍历集合 book每一个节点for (int i = 0; i < bookList.getLength(); i++) {System.out.println("下面开始遍历第"+(i+1)+"本书的内容==========开始遍历");//7.通过item(i)获取节点,bookList的索引值从零开始Node book=bookList.item(i);//8.遍历Node属性,获取节点所有属性的集合NamedNodeMap map=book.getAttributes();//9获取map里面有多少中属性的个数System.out.println("第"+(i+1)+"本书共有"+map.getLength()+"个属性");//10.遍历book的属性for (int j = 0; j < map.getLength(); j++) {//11.通过item(i)获取属性Node atter=map.item(j);//12.获取属性名字=====getNodeName方法String Attributename=atter.getNodeName();System.out.println("属性名"+Attributename);//12.获取属性值=====getNodeValue方法String Valuename=atter.getNodeValue();System.out.println("属性值"+Valuename); System.out.println("下面开始遍历第"+(i+1)+"本书的内容==========结束遍历");}}} catch (ParserConfigurationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SAXException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
打印结果:
一共有2节点
下面开始遍历第1本书的内容==========开始遍历
第1本书共有1个属性
属性名id
属性值1
下面开始遍历第1本书的内容==========结束遍历
下面开始遍历第2本书的内容==========开始遍历
第2本书共有1个属性
属性名id
属性值2
下面开始遍历第2本书的内容==========结束遍历
阅读全文
0 0
- Java xml创建及解析
- java创建解析XML
- XML的创建及解析
- xml创建及DOM解析
- java xml解析与创建
- Java解析xml以及创建xml文件
- 【Java开发】--jdom解析xml-创建xml
- 使用CMarkup创建及解析XML文档
- 使用tinyxml创建及解析XML文件
- xml入门、解析、创建及规范
- Java中使用DOM方式解析和创建XML文档、及dom4j使用简介
- 每日一得--dom4j创建xml及解析xml
- 创建并解析XML文件Java实例
- Java的XML创建、解析文档
- java jdom解析和创建xml
- java-Dom创建和解析xml
- java xml的创建和解析记录
- JAVA XML的解析与创建
- 2017-10-27 周测试题
- 【Python+selenium】网页登录滑动解锁
- Linux命令分析:netstat
- StackExchange.Redis官方文档(八)【脚本】
- 创客派推荐码
- Java xml创建及解析
- BZOJ 2744 [HEOI 2012] 二分图最大独立集 解题报告
- 李开复给中国大学生的七封公开信(其二)
- 解决:Eclipse新建Servlet时不会自动生成mapping到web.xml(水印为楼主微博ID)
- 使用MongoDB $lookup聚合器
- spring Boot上传文件报错。
- [考试]周测(2017/10/27)
- tensorboard可视化
- ubuntu16.04系统gcc下降和升级