`

Jdom 生成和解析XML字符串

    博客分类:
  • JAVA
阅读更多
//生成XML字符串

package com.abin.xml;

import java.io.ByteArrayOutputStream;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;

public class CreateXML {
 
 public static String Create(){
  Element root=new Element("people");
  Document doc=new Document(root);
  
  for(int i=0;i<5;i++){
   Element element=new Element("user");
   element.setAttribute("id", ""+""+i);
   
   element.addContent(new Element("name").setText("abin"+i));
   element.addContent(new Element("age").setText("1"+i));
   element.addContent(new Element("sex").setText("female"+i));
   
   root.addContent(element);
  }
  ByteArrayOutputStream byteRsp=new ByteArrayOutputStream();
  XMLOutputter xmlOut=new XMLOutputter();
  try {
   xmlOut.output(doc, byteRsp);
  } catch (Exception e) {
   e.printStackTrace();
  }
  
  return byteRsp.toString();
 }
 
 public static void main(String[] args) {
  CreateXML xml=new CreateXML();
  String result=xml.Create();
  System.out.println("result="+result);
 }

}


 

 

//解析XML字符串

package com.abin.xml;

import java.io.StringReader;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;

public class ParseXML {
 
 public static void Parse(String xml){
  //创建一个新的字符串
  StringReader reader=new StringReader(xml);
  InputSource source=new InputSource(reader);
  SAXBuilder sax=new SAXBuilder();
  
  try {
   Document doc=sax.build(source);
   Element root=doc.getRootElement();
   System.out.println("root's name="+root.getName());
   System.out.println("root's value="+root.getValue());
   
   List node=root.getChildren();
   Element el=null;
   for(int i=0;i<node.size();i++){
    el=(Element)node.get(i);
    System.out.println("el's name="+el.getName());
    System.out.println("el's value="+el.getValue());
    List node1=el.getChildren();
    Element el1=null;
    for(int j=0;j<node1.size();j++){
     el1=(Element)node1.get(j);
     System.out.println("el1's name="+el1.getName());
     System.out.println("el1's value="+el1.getValue());
    }
   }
   
  } catch (Exception e) {
   e.printStackTrace();
  }
  
 }
 

}


 

 

//Junit测试XML

package com.abin.xml;

import org.junit.Before;
import org.junit.Test;

public class UseXML {
 CreateXML create=null;
 ParseXML parse=null;
 
 @Before
 public void setUp(){
  create=new CreateXML();
  parse=new ParseXML();
 }
 
 @Test
 public void test(){
  String result=create.Create();
  System.out.println("生成的XML字符串是:"+result);
  parse.Parse(result);
 }
 
 
}

 

分享到:
评论

相关推荐

    java解析xml字符串

    ### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...

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

    // 解析XML字符串 Document doc = builder.build(new StringReader(xml)); Element root = doc.getRootElement(); // 输出根元素 System.out.println("根元素: " + root.getName()); } } ``` 这段代码中,...

    DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式

    生成XML字符串时,JDOM提供了一套直观的API来构造和序列化XML文档。 5. StAX (Streaming API for XML) StAX是Java提供的一个流式解析API,它介于DOM和SAX之间。像SAX一样,StAX也是事件驱动的,但它允许程序员以拉...

    如何将xml的String字符串转化标准格式的String字符串(jdom)

    // 创建SAXBuilder实例以解析XML字符串 SAXBuilder saxBuilder = new SAXBuilder(); // 使用StringReader将XML字符串作为输入 StringReader inputReader = new StringReader(xml); // 解析XML字符串并创建...

    Jdom解析XML

    4. 输出XML,使用`XMLOutputter`类将`Document`对象转换为字符串或写入文件。 **示例代码** ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import org.jdom2...

    jdom从数据库和xml拿数据生成xml

    4. **XML解析与生成**:JDOM提供API来解析XML文件,将XML文档转化为内存中的对象结构,这使得可以方便地遍历和修改XML内容。同样,也可以使用JDOM来生成新的XML文档,包括从数据库中提取的数据。 5. **JDOM基本使用...

    Jdom解析xml案例

    修改后,需要使用`XMLOutputter`来生成新的XML字符串或写入到文件。 ```java XMLOutputter xmlOutput = new XMLOutputter(); xmlOutput.output(document, new FileWriter("output.xml")); ``` ### 示例代码 ...

    生成+解析XML

    本文将深入探讨DOM、SAX、JDOM和DOM4J这四种XML处理方式,以及如何生成和解析XML文档。 1. DOM(Document Object Model) DOM是W3C制定的一种统一的标准,它将XML文档视为一个树形结构,每个元素、属性和文本都被...

    jdom解析xml用到的jar包

    2. **创建SAXBuilder实例**:SAXBuilder是JDOM提供的用于解析XML的类,通过它可以将XML字符串或文件转换为Document对象。 ```java SAXBuilder saxBuilder = new SAXBuilder(); ``` 3. **读取XML文件**:使用...

    xml 解析(Jdom代码)

    例如,可以添加新元素、删除元素、修改属性值,然后使用`OutputFormat`和`Transformer`将DOM树转换回XML字符串或写入文件。 **5. 性能与优化** 虽然JDOM提供了方便的API,但其性能相对较低,因为整个XML文档会一次...

    Java生成和解析XML格式文件和字符串的实例代码

    本文将深入探讨如何使用Java生成和解析XML格式的文件和字符串,主要关注DOM方法,同时也会提及其他解析方式。 1、基础知识: Java解析XML主要有四种方法: - DOM(Document Object Model):W3C提供的接口,将整个...

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

    6. 最后,使用`DocumentBuilderFactory`的`newTransformer()`方法创建一个`Transformer`,并通过`transform()`方法将`Document`转换为XML字符串或写入文件。 对于XML解析,JDOM提供了两种方式:SAX(Simple API for...

    解析xml的jar包

    - 修改完成后,使用`Transformer`将`Document`对象转换回XML字符串或写入文件。 5. **处理命名空间**: - JDOM支持XML命名空间,`Namespace`类用于定义命名空间,可以附加到元素上。 - 解析带有命名空间的XML时...

    dom4J生成xml、解析xml、生成xml文件实例

    **dom4J生成和解析XML文件** DOM4J是一个强大的Java XML API,它不仅提供了DOM、SAX和JDOM等接口的实现,还提供了一种更简单、更灵活的方式来处理XML文档。这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML...

    java源码:用jdom解析xml.rar

    在Java编程中,解析XML是常见的任务,而JDOM是一个专门为Java设计的XML处理库,它提供了一种高效且易于使用的API来读取、修改和生成XML文档。 JDOM的主要优点在于它的灵活性和性能,它完全基于Java,并且对Java集合...

    使用JDOM来生成XML文档

    2. **文档构建**:JDOM提供了多种方式构建XML文档,如从XML字符串、字节流或输入流。你可以使用`SAXBuilder`或`DOMBuilder`来解析XML内容。 3. **查询与修改**:JDOM提供了XPath支持,可以方便地查询和修改XML文档...

    xml在java环境中生成解析

    在实际项目中,生成XML文件通常涉及到构建Document对象,添加Element、Attribute等节点,然后使用Transformer将Document对象转换成XML字符串或直接写入文件。解析XML时,你可以通过解析器读取文件,然后遍历Element...

    android java xml 解析生成jar

    5. **保存XML到文件**:生成的XML文档可以通过`Transformer`类转换为字符串或者写入文件: ```java TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = ...

    Dom4j解析和生成XML文档

    生成XML文档时,DOM4J允许我们通过创建`Element`、`Attribute`等对象,构建一个内存中的XML结构,然后将其转换为XML字符串或写入文件。 1. 创建`Document`对象:`Document document = DocumentFactory.getInstance...

Global site tag (gtag.js) - Google Analytics