`
thinktank
  • 浏览: 60716 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jdom操作xml文件实例

阅读更多

package com.donson.common;

import java.io.File;
import java.io.FileOutputStream;
import java.io.Reader;
import java.io.StringReader;

import java.io.FileInputStream;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;


public class XmlOperate {

 public static void main(String[] args) {
  XmlOperate xo= new XmlOperate ();
    xo.add();
 }
 

//访问xml文件
 private void printXmlContent(){
  SAXBuilder builder = new SAXBuilder();
  String fileContent = getXmlContent();
  try{
   Reader readStr = new StringReader(fileContent);
   Document doc = builder.build(readStr);
   Element root = doc.getRootElement();
   List childList = root.getChildren();
   System.out.println("list="+childList.size());
   for(int i=0;i     Element child = (Element)childList.get(i);
    System.out.println("ok="+child.getAttributeValue("ok"));
    System.out.println("id="+child.getChildTextTrim("id"));
    System.out.println("address="+child.getChildTextTrim("address"));
    System.out.println("text="+child.getTextTrim());
     
     Element cd = child.getChild("subx");//获取该节点下面的子节点
     if(cd!=null){
      System.out.println("cd-id="+cd.getChildText("id"));
      System.out.println("cd-value="+cd.getChildText("value"));
     }
   }
  }catch(Exception e){
   System.out.println(e.getMessage());
  }
 }

//添加操作
 private void add(){
  SAXBuilder builder = new SAXBuilder();
  String fileContent = getXmlContent();
  try{
   Reader readStr = new StringReader(fileContent);
   Document doc = builder.build(readStr);
   Element root = doc.getRootElement();
   List childList = root.getChildren();
   System.out.println("list="+childList.size());
   
   Element el = new Element("subroot");
   el.setAttribute("ok","true");
   el.setText("xxxx");
   Element id = new Element("id");
   id.setText("25");
   el.addContent(id);
   
   Element name = new Element("name");
   name.setText("guolp25");
   el.addContent(name);
   
   Element address = new Element("address");
   address.setText("深圳25");
   
   Element sex = new Element("sex");
   sex.setText("F25");
   el.addContent(sex);
   
   Element subx = new Element("subx");
    Element sid = new Element("id");
    sid.setText("s11");
    subx.addContent(sid);
    Element scontent = new Element("content");
    scontent.setText("最好操作");
    subx.addContent(scontent);
   subx.setAttribute("ok","true");
   el.addContent(subx);
   
   childList.add(el);
   Format format = Format.getCompactFormat();
   format.setEncoding("gbk");
   format.setIndent("    ");
   XMLOutputter XMLOut = new XMLOutputter(format);
   FileOutputStream writer = new FileOutputStream("d:\\test.xml");
   XMLOut.output(doc, writer);
   writer.close();
   readStr.close();
  }catch(Exception e){
   System.out.println(e.getMessage());
  }
 }


 private String getXmlContent(){
  String xmlfilepath = "d:\\test.xml";
  File file = new File(xmlfilepath);
  if(!file.exists() || file.length()<=0){
   return null;
  }else{
   FileInputStream fis = null;
   try{
    fis = new FileInputStream(file);
    long fileLength = file.length();
    byte[] fileBytes = new byte[(int)fileLength];
    fis.read(fileBytes);
    String fileData = new String(fileBytes);
    return fileData;   
   }catch(Exception e){
    e.printStackTrace();
    return null;
   }finally{
    try{
     if(fis != null){
      fis.close();
      fis = null;
     }
    }catch(Exception e){
     e.printStackTrace();
    }
   }
  } 
 }
}

文件格式见附件:        
   

 

分享到:
评论

相关推荐

    JDOM解析xml文档实例(自己编写,仅供参考)

    JDOM是Java中专门用来解析和操作XML的一个库,它提供了一种高效且方便的方式来处理XML文档。本实例将深入讲解如何使用JDOM进行XML解析。 首先,我们需要在项目中引入JDOM的类库。JDOM官方网站提供了不同版本的JDOM ...

    jdom解析xml文件小实例

    在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.jdom &lt;artifactId&gt;...

    JDOM读取XML,并且创建XML

    JDOM提供了一个直接映射到XML文档的Java对象模型,使得操作XML变得更为便捷。 首先,让我们深入理解JDOM的基本概念。JDOM的核心类包括`Element`、`Attribute`、`Document`等。`Document`代表整个XML文档,它是XML...

    jdom学习读取xml文件.files

    总的来说,JDOM作为Java处理XML的工具,可以帮助开发者轻松地读取和操作XML文档。在Spring框架中,虽然直接使用JDOM解析配置文件并不常见,但理解XML和JDOM的基本操作对于深入学习Spring的XML配置是有益的。通过阅读...

    利用jdom操作xml文档

    ### 利用 JDOM 操作 XML 文档 #### 一、引言 JDOM(Java Document Object Model)是一种用于处理 XML 数据的 Java 库。它提供了面向对象的 API,允许开发人员以简单直观的方式创建、读取、更新和保存 XML 文档。与 ...

    利用JDOM解析xml文件

    JDOM是Java中一个专门用来处理XML的库,它提供了一种高效且方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本...

    jdom解析xml实例

    本实例将详细介绍如何使用JDOM解析XML,包括生成新的XML文件、读取XML以及修改XML。 1. **生成新的XML文件** 使用JDOM创建XML文件,首先需要构建一个`Element`对象作为根节点,然后添加子元素和属性。以下是一个...

    jdom读取xml全属性文件

    总结一下,JDOM在Java EE环境中用于读取XML文件,提供了便捷的API来操作XML文档。在处理包含属性的XML元素时,可以利用`Element`类的`getAttributeValue()`方法轻松获取属性值。对于大型或复杂的XML文档,JDOM提供了...

    java jdom解析xml

    - **优化策略**:如果确实需要处理大型XML文件,可以使用JDOM的SAXBuilder,它允许以SAX方式读取XML,但仍然使用JDOM API进行操作。 6. **示例代码** ```java import org.jdom2.Document; import org.jdom2....

    jdom 操作xml文档

    JDOM(Java Document Object Model)是Java平台上的一个开源库,专门用来处理XML文档,提供了高效且方便的方式来创建、读取、修改XML文档。 在Java中,使用JDOM进行XML操作主要涉及以下几个核心概念和步骤: 1. **...

    JDOM创建XML完整实例和jdom-2.0.5.jar

    在工作中发现jdom生成xml标签如&lt;taxML xmlns:xsi="http://www.worg/2001/XMLSchema-instance" xsi:type="Fb1"cnName="附表1" name="Fb1"version="SW5001-2006"&gt; 不能用冒号的问题root.setAttribute("xsi:type", "fb1...

    java利用jdom解析xml文件

    Java中的JDOM库是用于解析XML文档的一种强大的工具。...通过JDOM,你可以轻松地处理XML文档,无论是读取还是修改,都变得轻而易举。在实际开发中,掌握XML和JDOM的操作对于处理结构化数据和接口通信至关重要。

    jdom处理xml例子

    通过JDOM,我们可以直接在内存中操作XML文档,这使得XML数据处理更加便捷。 **XML基础** XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。XML文档...

    java读取XML(JDOM)

    Java读取XML文件是开发过程中常见的任务,JDOM是一个用于处理XML文档的Java库,它提供了方便、高效的方式来创建和操作XML数据。本篇将详细讲解如何使用JDOM来读取XML文件,以及相关的源码解析。 首先,我们需要了解...

    jdom解析XML文件and把字符串解析成XML

    无论是从文件还是从字符串中读取XML,都可以通过JDOM提供的API轻松实现。这对于开发涉及XML处理的应用程序来说是非常有用的。 需要注意的是,在实际应用中,还需要根据具体的业务需求选择合适的XML处理技术。除了...

    JDOM相关解析XML文件实例

    JDOM是Java中专门用来处理XML文档的一个库,它提供了方便的API来创建、读取、修改和保存XML文档。本实例将探讨如何使用JDOM进行XML文件的解析。 首先,我们来看JDOM的基本结构。JDOM的核心类包括`Element`,代表XML...

    jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    例如,你可以创建一个`SAXBuilder`实例,然后调用其`build()`方法读取XML文件并将其转换为`Document`对象。 `jdom-b3-docs.zip`可能包含JDOM的API文档,这对于理解和使用库中的各种类和方法至关重要。开发者可以...

    JDOM使用详解XML及实例

    5. **org.jdom.output**: 包含将XML文档输出的各种类,如XMLOutputter,可以将XML文档写入文件或流。 ### 四、JDOM使用方法 1. **Document类操作**: - 创建新的Document对象:`Document doc = new Document(new ...

    JDOM解析XML文档

    无论是加载、查询还是修改XML文档,JDOM都提供了丰富的API支持,使得开发者能够更专注于业务逻辑而非繁琐的数据操作细节。通过本文对JDOM基本结构、类和方法的介绍,相信读者已经对如何使用JDOM有了初步的认识。接...

Global site tag (gtag.js) - Google Analytics