`
xxtianxiaxing
  • 浏览: 705301 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

dom4j 操作xml 常见方法

    博客分类:
  • xml
阅读更多
其次DOM4J的解释

一.Document对象相关

1.读取XML文件,获得document对象.


 

Java代码 
SAXReader reader = new SAXReader();   
Document   document = reader.read(new File("input.xml"));   

SAXReader reader = new SAXReader();
Document   document = reader.read(new File("input.xml")); 2.解析XML形式的文本,得到document对象.

 

Java代码 
String text = "<members></members>";   
Document document = DocumentHelper.parseText(text);  

String text = "<members></members>";
Document document = DocumentHelper.parseText(text);3.主动创建document对象.


 

Java代码 
Document document = DocumentHelper.createDocument();   
Element root = document.addElement("members");// 创建根节点  

Document document = DocumentHelper.createDocument();
Element root = document.addElement("members");// 创建根节点
二.节点相关

1.获取文档的根节点.      

 

Java代码 
Element rootElm = document.getRootElement();  

Element rootElm = document.getRootElement();2.取得某节点的单个子节点.

Java代码 
Element memberElm=root.element("member");// "member"是节点名   

Element memberElm=root.element("member");// "member"是节点名 3.取得节点的文字

Java代码 
String text=memberElm.getText();   

String text=memberElm.getText(); 也可以用:

Java代码 
String text=root.elementText("name");   

String text=root.elementText("name"); 这个是取得根节点下的name字节点的文字.

4.取得某节点下名为"member"的所有字节点并进行遍历.

Java代码 
List nodes = rootElm.elements("member");   
  
for (Iterator it = nodes.iterator(); it.hasNext();) {   
    Element elm = (Element) it.next();   
   // do something   
}  

List nodes = rootElm.elements("member");

for (Iterator it = nodes.iterator(); it.hasNext();) {
    Element elm = (Element) it.next();
   // do something
}5.对某节点下的所有子节点进行遍历. 

Java代码 
for(Iterator it=root.elementIterator();it.hasNext();){   
                 Element element = (Element) it.next();   
                // do something   
             }  

for(Iterator it=root.elementIterator();it.hasNext();){
                 Element element = (Element) it.next();
                // do something
             }6.在某节点下添加子节点.

 

Java代码 
Element ageElm = newMemberElm.addElement("age");  

Element ageElm = newMemberElm.addElement("age");7.设置节点文字.

 

Java代码 
ageElm.setText("29");  

ageElm.setText("29");8.删除某节点.

 

Java代码 
parentElm.remove(childElm);// childElm是待删除的节点,parentElm是其父节点   

parentElm.remove(childElm);// childElm是待删除的节点,parentElm是其父节点 9.添加一个CDATA节点.


 

Java代码 
Element contentElm = infoElm.addElement("content");   
contentElm.addCDATA(diary.getContent());   
  
contentElm.getText(); // 特别说明:获取节点的CDATA值与获取节点的值是一个方法   
contentElm.clearContent(); //清除节点中的内容,CDATA亦可  

Element contentElm = infoElm.addElement("content");
contentElm.addCDATA(diary.getContent());

contentElm.getText(); // 特别说明:获取节点的CDATA值与获取节点的值是一个方法
contentElm.clearContent(); //清除节点中的内容,CDATA亦可 

三.属性相关. 
1.取得某节点下的某属性

 

Java代码 
Element root=document.getRootElement();       
Attribute attribute=root.attribute("size");// 属性名name  

Element root=document.getRootElement();    
Attribute attribute=root.attribute("size");// 属性名name2.取得属性的文字

Java代码 
String text=attribute.getText();   

String text=attribute.getText(); 也可以用:

Java代码 
String text2=root.element("name").attributeValue("firstname");   

String text2=root.element("name").attributeValue("firstname"); 这个是取得根节点下name字节点的属性firstname的值.

3.遍历某节点的所有属性

 

Java代码 
Element root=document.getRootElement();       
for(Iterator it=root.attributeIterator();it.hasNext();){   
          Attribute attribute = (Attribute) it.next();   
          String text=attribute.getText();   
          System.out.println(text);   
}  

  Element root=document.getRootElement();    
  for(Iterator it=root.attributeIterator();it.hasNext();){
            Attribute attribute = (Attribute) it.next();
            String text=attribute.getText();
            System.out.println(text);
  }4.设置某节点的属性和文字.

 

Java代码 
newMemberElm.addAttribute("name", "sitinspring");  

newMemberElm.addAttribute("name", "sitinspring");5.设置属性的文字

 

Java代码 
Attribute attribute=root.attribute("name");   
attribute.setText("sitinspring");  

 Attribute attribute=root.attribute("name");
 attribute.setText("sitinspring");6.删除某属性 

Java代码 
Attribute attribute=root.attribute("size");// 属性名name   
root.remove(attribute);   

Attribute attribute=root.attribute("size");// 属性名name
root.remove(attribute);  

四.将文档写入XML文件.
1.文档中全为英文,不设置编码,直接写入的形式.

 

Java代码 
XMLWriter writer = new XMLWriter(new FileWriter("output.xml"));   
writer.write(document);   
writer.close();  

XMLWriter writer = new XMLWriter(new FileWriter("output.xml"));
writer.write(document);
writer.close();2.文档中含有中文,设置编码格式写入的形式. 

Java代码 
OutputFormat format = OutputFormat.createPrettyPrint();   
format.setEncoding("GBK");    // 指定XML编码           
XMLWriter writer = new XMLWriter(new FileWriter("output.xml"),format);   
               
writer.write(document);   
writer.close();  

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");    // 指定XML编码        
XMLWriter writer = new XMLWriter(new FileWriter("output.xml"),format);
            
writer.write(document);
writer.close(); 

五.字符串与XML的转换 
1.将字符串转化为XML

 

Java代码 
String text = "<members> <member>sitinspring</member> </members>";   
Document document = DocumentHelper.parseText(text);  

String text = "<members> <member>sitinspring</member> </members>";
Document document = DocumentHelper.parseText(text);2.将文档或节点的XML转化为字符串.

 

Java代码 
SAXReader reader = new SAXReader();   
Document   document = reader.read(new File("input.xml"));               
Element root=document.getRootElement();                   
String docXmlText=document.asXML();   
String rootXmlText=root.asXML();   
Element memberElm=root.element("member");   
String memberXmlText=memberElm.asXML();  




分享到:
评论

相关推荐

    Dom4J生成XML的完整方法希望大家能用到

    ### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...

    dom4j解析xml详解

    - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成**: 当需要根据业务逻辑动态生成XML文档时,DOM4J的创建功能十分有用。 #### 四、结语 DOM4J作为一...

    使用dom4j读取xml四种方法

    本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例代码帮助读者更好地理解和掌握这些技术。 #### 方法一:使用`SAXReader`与`elementIterator` **方法原理**: 此方法首先利用`SAXReader`读取XML文档...

    dom4j解析xml

    - **DOM4J中常用的XPath方法**: - `selectNodes(String xpathExpression)`:根据XPath表达式选取一系列节点。 - `selectSingleNode(String xpathExpression)`:根据XPath表达式选取单个节点。 - `valueOf(String...

    java中用dom4j读取xml

    本文将深入探讨如何使用DOM4J库来读取XML文件。 首先,让我们理解DOM4J的基本概念。DOM4J是基于DOM模型的,DOM(Document Object Model)是一种标准的API,用于解析XML文档并将其表示为一棵由节点组成的树形结构。...

    dom4j解析xml实例

    通过学习和实践这些基本操作,你可以熟练掌握DOM4J解析XML的技巧,为你的Java项目中处理XML数据提供强大的支持。在项目中遇到具体问题时,可以参考DOM4J的官方文档,或利用在线资源进行更深入的学习。

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    Java用DOM4J读取XML

    ### Java使用DOM4J读取XML知识点解析 #### 一、概述 在Java开发中,处理XML文件是一项常见的任务。DOM4J是一个简单且功能强大的Java库,用于处理XML文档。它提供了类似于DOM的API,但更为轻量级且易于使用。本篇将...

    使用dom4j将xml字符串转换成Bean对象

    首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和操作XML文档。其核心概念是Element(元素)、Attribute(属性)和Document(文档)。通过这些对象,我们可以方便地处理XML文档的...

    dom4j_XML.rar_DOM4J_dom4j xml java_java xml_读写xml

    在Java世界中,XML是一种常见的数据交换格式,DOM4J作为XML处理工具,尤其适用于那些需要频繁进行XML操作的项目。 在“dom4j读写xml!例子比较简单”的描述中,我们可以推断出这个压缩包包含了一些关于如何使用DOM4J...

    dom4j操作xml的增删改查

    1. **解析XML文档**:DOM4J提供了解析XML文档的方法,如`Document document = DocumentHelper.parseText(xmlString)`或`SAXReader reader = new SAXReader(); Document document = reader.read(new File("path_to_...

    dom4j_XML.rar_DOM4J_dom4j xml

    DOM4J是Java中解析XML的常用库之一,其名称中的“DOM”指的是Document Object Model,这是一个W3C标准,用于表示XML文档的树型结构。DOM4J不仅支持DOM,还提供了SAX(Simple API for XML)和StAX(Streaming API for...

    dom4j-jar与dom4j解析xml文档介绍

    "以及解析xml文档所用的pdf文档说明"则表明还有一个PDF文档,可能详细介绍了如何使用dom4j来解析XML文件,包括各种方法、类和接口的使用示例。 **dom4j解析XML文档知识点:** 1. **dom4j简介**:dom4j是一个开放...

    dom4j解析XML文档.ppt

    在解析XML文档后,DOM4J将XML转换为一个对象树,这个树结构与DOM类似但更易于操作。DOM4J的Element类代表XML元素,它提供了丰富的API,例如`elements()`方法,可以轻松获取元素的所有子元素,而不仅仅是子节点,这样...

    使用dom4j和jaxen解析xml

    在Java开发中,dom4j和jaxen是两个常用的库,用于解析和操作XML文档。 **dom4j** 是一个非常灵活且功能强大的Java XML API,它提供了全面的XML解决方案,包括XML的读取、写入、修改以及XPath查询等功能。dom4j的...

    DOM4J解析XML

    在Java领域,XML是数据交换和配置文件的常用格式,DOM4J则是一个重要的工具,帮助开发者高效地与XML交互。 XML(eXtensible Markup Language)是一种标记语言,它定义了如何存储和传输结构化数据。其特点是自描述性...

    DOM4J解析XML代码

    解析XML文件有多种方法,常见的有DOM(文档对象模型),DOM4J以及SAX(简单API文档解析)。DOM方法将整个XML文档加载进内存,形成一个树状结构,然后通过遍历这个结构进行操作,这种方式适合文档较小且需要频繁操作...

    dom4j解析xml.txt

    本文详细介绍了如何使用DOM4J进行XML文档的创建、写入以及读取操作。通过对DOM4J库的学习和实践,可以高效地处理各种复杂的XML文档需求。无论是创建新的XML文件还是从现有的XML文件中提取数据,DOM4J都能提供强大的...

    DOM4J格式化XML

    DOM4J是一个非常流行的Java XML API,它提供了丰富的功能,包括读取、写入、修改以及操作XML文档。在XML处理中,格式化是一个重要的环节,它可以使得XML代码更加整洁、易读,便于理解和维护。 【描述】虽然描述部分...

Global site tag (gtag.js) - Google Analytics