java笔记·

一、环境准备java

(1)下载dom4j-1.6.1.jarnode

(2)下载junit-4.10.jar微信

二、舒适提示dom

解析XML过程是经过获取Document对象,而后继续获取各个节点以及属性等操做,所以获取Document对象是第一步,大致说来,有三种方式:编码

(1)本身建立Document对象spa

[java] view plaincopyprint?在CODE上查看代码片派生到个人代码片.net

Document document = DocumentHelper.createDocument();  code

        Element root = document.addElement("students");  orm

 其中students是根节点,能够继续添加其余节点等操做。

(2)读取XML文件获取Document对象

[java] view plaincopyprint?在CODE上查看代码片派生到个人代码片

//建立SAXReader对象  

        SAXReader reader = new SAXReader();  

        //读取文件 转换成Document  

        Document document = reader.read(new File("XXXX.xml"));  

(3)读取XML文本内容获取Document对象

[java] view plaincopyprint?在CODE上查看代码片派生到个人代码片

String xmlStr = "<students>......</students>";  

        Document document = DocumentHelper.parseText(xmlStr);  

三、示例

(1)xml文件内容以下

[html] view plaincopyprint?在CODE上查看代码片派生到个人代码片

<?xml version="1.0" encoding="UTF-8"?>  

<students>  

    <student1 id="001">  

        <微信公众号>@残缺的孤独</微信公众号>  

        <学号>20140101</学号>  

        <地址>北京海淀区</地址>  

        <座右铭>要么强大,要么听话</座右铭>  

    </student1>  

    <student2 id="002">  

        <新浪微博>@残缺的孤独</新浪微博>  

        <学号>20140102</学号>  

        <地址>北京朝阳区</地址>  

        <座右铭>在哭泣中学会坚强</座右铭>  

    </student2>  

</students>  

(2)解析过程

[java] view plaincopyprint?在CODE上查看代码片派生到个人代码片

package cn.com.yy.dom4j;  

  

import java.io.File;  

import java.util.Iterator;  

import java.util.List;  

  

import org.dom4j.Attribute;  

import org.dom4j.Document;  

import org.dom4j.Element;  

import org.dom4j.io.SAXReader;  

import org.junit.Test;  

  

public class Dom4JforXML {  

      

    @Test   

    public void test() throws Exception{  

        //建立SAXReader对象  

        SAXReader reader = new SAXReader();  

        //读取文件 转换成Document  

        Document document = reader.read(new File("src/cn/com/yy/dom4j/s.xml"));  

        //获取根节点元素对象  

        Element root = document.getRootElement();  

        //遍历  

        listNodes(root);  

    }  

      

    //遍历当前节点下的全部节点  

    public void listNodes(Element node){  

        System.out.println("当前节点的名称:" + node.getName());  

        //首先获取当前节点的全部属性节点  

        List<Attribute> list = node.attributes();  

        //遍历属性节点  

        for(Attribute attribute : list){  

            System.out.println("属性"+attribute.getName() +":" + attribute.getValue());  

        }  

        //若是当前节点内容不为空,则输出  

        if(!(node.getTextTrim().equals(""))){  

             System.out.println( node.getName() + ":" + node.getText());    

        }  

        //同时迭代当前节点下面的全部子节点  

        //使用递归  

        Iterator<Element> iterator = node.elementIterator();  

        while(iterator.hasNext()){  

            Element e = iterator.next();  

            listNodes(e);  

        }  

    }  

}  

(3)解析结果

[html] view plaincopyprint?在CODE上查看代码片派生到个人代码片

当前节点的名称:students  

当前节点的名称:student1  

属性id:001  

当前节点的名称:微信公众号  

微信公众号:@残缺的孤独  

当前节点的名称:学号  

学号:20140101  

当前节点的名称:地址  

地址:北京海淀区  

当前节点的名称:座右铭  

座右铭:要么强大,要么听话  

当前节点的名称:student2  

属性id:002  

当前节点的名称:新浪微博  

新浪微博:@残缺的孤独  

当前节点的名称:学号  

学号:20140102  

当前节点的名称:地址  

地址:北京朝阳区  

当前节点的名称:座右铭  

座右铭:在哭泣中学会坚强  

四、dom4j操做节点属性

使用dom4j能够操做节点属性,好比添加节点属性、删除节点属性、修改属性值等操做。下面使用dom4j为上述的student1节点删除id属性,新添name属性。

(1)代码示例<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值