文档章节

dom4j解析xml文档

进击的_渣渣
 进击的_渣渣
发布于 2014/10/10 23:19
字数 687
阅读 41
收藏 0

获取Document对象的几种基本方式:

  1>读取XML文件,获取Document对象

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

  2>解析XML格式的文本获取Document对象

String text = "<csdn></csdn>";    
Document document = DocumentHelper.parseText(text);

  3>自己创建Document对象

Document document = DocumentHelper.createDocument();             //创建根节点
Element root = document.addElement("csdn");

document对象中的基本方法:

getRootElement()  --Returns the root Elementfor this document

setRootElement(Element rootElement) --Sets the root element for this document  getXMLEncoding() element属性方法:

addAttribute(String name, String value) --Adds the attribute value of the given local name

addText(String text)--Adds a new Text node with the given text to this element

attribute(int index) --Returns the attribute at the specified indexGets the

attribute(String name) --Returns the attribute with the given name

attributes() --Returns the Attributeinstances this element contains as a  backed Listso that the attributes                         may be modified directly  using the Listinterface.

attributeValue(String name) --This returns the attribute value for the  attribute with the given name and any namespace or null if  there is no such attribute or the empty string if the  attribute value is empty. 

element(String name) --Returns the first element for the given local name and  any namespace.

elementIterator() --Returns an iterator over all this elements child elements

elements() --Returns the elements contained in this element. 

elements(String name) --Returns the elements contained in this element with the given local name and any namespace. 

remove(Attribute attribute) -Removes the given Attribute from this element.

setAttributeValue(String name, String value) --Deprecated. As of version 0.5. Please use addAttribute(String,String) instead

基本方法:

1.获取文档的根节点.
      Element root = document.getRootElement();
    2.取得某个节点的子节点.
      Element element=node.element(“四大名著");
    3.取得节点的文字
        String text=node.getText();
    4.取得某节点下所有名为“csdn”的子节点,并进行遍历.
       List nodes = rootElm.elements("csdn"); 
         for (Iterator it = nodes.iterator(); it.hasNext();) {   
	  Element elm = (Element) it.next();  
  	// do something
 }
     5.对某节点下的所有子节点进行遍历.    
      for(Iterator it=root.elementIterator();it.hasNext();){      
        Element element = (Element) it.next();      
       // do something 
 }
    6.在某节点下添加子节点
      Element elm = newElm.addElement("朝代");
    7.设置节点文字.  elm.setText("明朝");
    8.删除某节点.//childElement是待删除的节点,parentElement是其父节点  parentElement.remove(childElment);
    9.添加一个CDATA节点.Element contentElm = infoElm.addElement("content");contentElm.addCDATA(“cdata区域”);

节点对象的属性方法操作
1.取得某节点下的某属性    Element root=document.getRootElement();        //属性名name
         Attribute attribute=root.attribute("id");
    2.取得属性的文字
	String text=attribute.getText();
    3.删除某属性 Attribute attribute=root.attribute("size"); root.remove(attribute);
    4.遍历某节点的所有属性   
      Element root=document.getRootElement();      
       for(Iterator it=root.attributeIterator();it.hasNext();){        
           Attribute attribute = (Attribute) it.next();         
           String text=attribute.getText();        
           System.out.println(text);  
  }
    5.设置某节点的属性和文字.   newMemberElm.addAttribute("name", "sitinspring");
    6.设置属性的文字   Attribute attribute=root.attribute("name");   attribute.setText("csdn");

将document对象写入文档中:

1.文档中全为英文,不设置编码,直接写入的形式.  
       XMLWriter writer = new XMLWriter(new  FileWriter("ot.xml")); 
       writer.write(document);  
       writer.close();
2.文档中含有中文,设置编码格式写入的形式.
       OutputFormat format = OutputFormat.createPrettyPrint();// 创建文件输出的时候,自动缩进的格式                  
       format.setEncoding("UTF-8");//设置编码
       XMLWriter writer = new XMLWriter(newFileWriter("output.xml"),format);
       writer.write(document);
       writer.close();


本文转载自:http://blog.csdn.net/redarmy_chen/article/details/12969219

上一篇: AOP之注解
下一篇: JPA环境的配置
进击的_渣渣
粉丝 0
博文 40
码字总数 21258
作品 0
武汉
私信 提问
XML生成和解析

1、DOM方式解析XML 给予DOM的解析方式,是把整个XML文档加载到内存,转化成DOM树,可以随机的访问DOM树的任何数据,速度快、比较灵活,但是消耗资源比较多,不适用大的xml文档解析,测试超过...

祁猛
2016/10/19
35
0
java解析xml的四种方法汇总

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SA...

LYQ1990
2017/10/26
39
0
xml java应用(DOM、SAX、JDOM、DOM4j)简介比较

dom是解析xml的底层接口之一(另一种是sax) 而jdom和dom4j则是基于底层api的更高级封装 dom是通用的,而jdom和dom4j则是面向java语言的 DOM 是用与平台和语言无关的方式表示 XML 文档的官方 ...

liangyx
2012/12/20
198
0
sax/dom/jdom/dom4j的区别

网上能够查到很多的4种解析方式的区别,我再做一下摘录和总结,顺带给自己做个备份。 SAX sax分析器在对xml文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对xml文档的访问....

zmf
2015/04/08
4.4K
0
Dom4j解析器_解析xml文档

目录 1、Dom4J是什么 2、使用dom4j解析xml 3、使用dom4j查询xml 4、使用dom4j实现 添加操作 5、使用dom4j实现在 特定位置 添加元素 6、使用dom4j实现 修改节点的操作 7、使用dom4j实现 删除节...

Eric-Zhou
02/28
29
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之访问者模式

定义 Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which......

陈年之后是青葱
昨天
11
0
PhotoShop 高级应用 : 分层云彩 - 简单闪电效果

1.创建黑白渐水平渐变图层 2.选择滤镜选项卡: 渲染--->分层云彩功能 3.将滤镜-云彩效果渲染后的图层进行反相操作 【此时出现闪电效果】 6.调整色阶,使得闪电效果更明显 7.创建剪贴蒙版:色...

东方墨天
昨天
13
0
三种实现Android主界面Tab的方式

三种实现Android主界面Tab的方式 https://www.cnblogs.com/caobotao/p/5103673.html

shzwork
昨天
13
0
java8-Optional类

背景 NPE问题,100%的Java程序员都碰到,并且曾经是心中的痛。 1965年英国TonyHoare引入了Null引用,后续的设计语言包括Java都保持了这种设计。 一个例子 业务模型 Person 有车一族, 有Car...

春天springcarter
昨天
13
0
py 登录github时token以及cookie的应用

import requestsfrom bs4 import BeautifulSoup## 获取tokenr1 = requests.get('https://github.com/login')s1 = BeautifulSoup(r1.text,'html.parser')token = s1.find(name='input',......

子枫Eric
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部