,,在java中使用dom4j解析xml(示例代码)

,,在java中使用dom4j解析xml(示例代码)

鉴于目前的趋势,我们这里来讲讲Dom4j的基本用法,不涉及递归等复杂操作100 .Dom4j的用法很多,官网上的示例有那么点儿晦涩,这里就不写了

虽然Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)中已经有了师和萨克斯管这两种标准解析方式

但其操作起来并不轻松,对于我这么一个初学者来说,其中部分代码是活生生的恶心

为此,伟大的第三方开发组开发出了Jdom和Dom4j等工具

鉴于目前的趋势,我们这里来讲讲Dom4j的基本用法,不涉及递归等复杂操作

Dom4j的用法很多,官网上的示例有那么点儿晦涩,这里就不写了

首先我们需要出创建一个可扩展标记语言文档,然后才能对其解析

xml文档:复制代码代码如下:可扩展标记语言版本='1.0 '编码='UTF八号'?图书图书id='001 '书名哈利波特/书名作者jk罗琳/作者/图书图书id='002 '书名学习XML/书名作者埃里克t雷/作者/图书/图书示例一:用List列表的方式来解析xml复制代码代码如下:导入Java。io。文件;导入Java。util。列表;

导入org。dom4j。属性;导入org。dom4j。文档;导入org。dom4j。元素;导入org。dom4j。io。sax阅读器;

公开课演示{

公共静态void main(String[] args)引发异常{ sax reader reader=new sax reader();文件File=新文件('书籍。XML’);文档文档=读者。读取(文件);元素根=文档。getrootelement();列表元素子元素=根元素。elements();for(Element child:child elements){//未知属性名情况下/* list属性attributeList=child。属性();for(Attribute attr:Attribute list){ system .出去。println(属性getname()':'属性。getvalue());}*/

//已知属性名情况下系统。出去。println(' id:' child。属性值(“id”);

//未知子元素名情况下/*列表元素元素列表=子元素。elements();for(Element ele:Element list){ system。出去。println(ele。getname()':' ele。gettext());}系统。出去。println();*/

//已知子元素名的情况下系统。出去。println(' title '子级。元素文本(“title”);系统。出去。println('作者'子级。元素文本(“作者”);//这行是为了格式化美观而存在系统。出去。println();}}

}示例二:使用Iterator迭代器的方式来解析xml复制代码代码如下:导入Java。io。文件;导入Java。util。迭代器;

导入org。dom4j。属性;导入org。dom4j。文档;导入org。dom4j。元素;导入org。dom4j。io。sax阅读器;

公共类Demo { public static void main(String[]args)抛出异常{ sax reader reader=new sax reader();document=reader.read(新文件(‘书。XML’));元素根=文档。getrootelement();

迭代器it=root。元素迭代器();而(它。有next()){ Element Element=(Element)it。next();

//未知属性名称情况下/*迭代器attrIt=元素。属性迭代器();while(attrit。has next()){ Attribute a=(Attribute)Attribute。next();系统。出去。println(a . getvalue());}*/

//已知属性名称情况下系统。出去。println(' id:'元素。属性值(“id”);

//未知元素名情况下/*迭代器eleIt=元素。元素迭代器();while(eleit。has next()){ Element e=(Element)eleit。next();系统。出去。println(e . getname()':' e . gettext());}系统。出去。println();*/

//已知元素名情况下系统。出去。println(' title:'元素。元素文本(“title”);系统。出去。println(' author:'元素。元素文本(“作者”);系统。出去。println();}}}运行结果:

示例三:创建xml文档并输出到文件复制代码代码如下:导入Java。io。文件;导入Java。io。文件输出流;

导入org。dom4j。文档;导入org。dom4j。文档助手;导入org。dom4j。元素;导入org。dom4j。io。输出格式;导入org。dom4j。io。XML编写器;

公共类Demo { public static void main(String[]args)抛出异常{文档文档=文档助手。创建文档();//增加根节点要素帐簿=文档。添加元素(“books”);//增加子元素元素book1=书籍。添加元素(“book”);元素标题1=book1。添加元素(“title”);元素作者1=book1。添加元素(“作者”);

元素book2=书籍。添加元素(“book”);元素标题2=book2。添加元素(“title”);元素作者2=book2。添加元素(“作者”);

//为子节点添加属性book1.addAttribute('id ',' 001 ');//为元素添加内容title1.setText('哈利波特');作者1。settext(' J . k .罗琳');

book2.addAttribute('id ',' 002 ');title2.setText('学习XML’);作者2。settext(' Erik t . Ray ');

//实例化输出格式对象输出格式format=输出格式。createprettyprint();//设置输出编码格式。集合编码(“UTF-8”);//创建需要写入的文件对象File File=新文件(' D:' File。“分离器”书籍。XML’);//生成XMLWriter对象,构造函数中的参数为需要输出的文件流和格式XMLWriter writer=new XMLWriter(新文件输出流(文件),格式);//开始写入,写方法中包含上面创建的文件对象作家。写(doc);}}运行结果:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: