`
tyyz1314168
  • 浏览: 4218 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JDOM解析XML字符串(非XML文档)

阅读更多
package com.tyyz;

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

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

public class DuXMLDoc {
    public List xmlElements(String xmlDoc) {
        //创建一个新的字符串
        StringReader read = new StringReader(xmlDoc);
        //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
        InputSource source = new InputSource(read);
        //创建一个新的SAXBuilder
        SAXBuilder sb = new SAXBuilder();
        try {
            //通过输入源构造一个Document
            Document doc = sb.build(source);
            //取的根元素
            Element root = doc.getRootElement();
            System.out.println(root.getName());//输出根元素的名称(测试)
            //得到根元素所有子元素的集合
            List jiedian = root.getChildren();
            //获得XML中的命名空间(XML中未定义可不写)
            Namespace ns = root.getNamespace();
            Element et = null;
            for(int i=0;i<jiedian.size();i++){
                et = (Element) jiedian.get(i);//循环依次得到子元素
                /**//*
                 * 无命名空间定义时
                 * et.getChild("users_id").getText();
                 * et.getChild("users_address",ns).getText()
                 */
                System.out.println(et.getChild("users_id",ns).getText());
                System.out.println(et.getChild("users_address",ns).getText());
            }
            /**//*
             * 如要取<row>下的子元素的名称
             */
            et = (Element) jiedian.get(0);
            List zjiedian = et.getChildren();
            for(int j=0;j<zjiedian.size();j++){
                Element xet = (Element) zjiedian.get(j);
                System.out.println(xet.getName());
            }
        } catch (JDOMException e) {
            // TODO 自动生成 catch 块
            e.printStackTrace();
        } catch (IOException e) {
            // TODO 自动生成 catch 块
            e.printStackTrace();
        }
        return null;
    }
    public static void main(String[] args){
        DuXMLDoc doc = new DuXMLDoc();
        String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
        "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+
           "<row resultcount=\"1\">"+
              "<users_id>1001     </users_id>"+
              "<users_name>wangwei   </users_name>"+
              "<users_group>80        </users_group>"+
              "<users_address>1001号   </users_address>"+
           "</row>"+
           "<row resultcount=\"1\">"+
              "<users_id>1002     </users_id>"+
              "<users_name>wangwei   </users_name>"+
              "<users_group>80        </users_group>"+
              "<users_address>1002号   </users_address>"+
           "</row>"+
        "</Result>";
        doc.xmlElements(xml);
    }
}
分享到:
评论
10 楼 blade_rain 2010-02-24  
实在看不下去了。为什么这里的人除某些发帖的人外,回帖的人都觉得自己挺N B 呢?你觉得简单可以不看,自然有初学者愿意看,何必说那种让人蛋疼的话
9 楼 YiSingQ 2010-02-24  
tyyz1314168 写道
我怎么把帖子删除了?

我解释一下:
我发这个帖子是有我的目的,不是给别人看的,是给我自己看了。
公司在搞信息安全,不让上网,我也好久没搞这方面的东西了,回家时间紧急在网上找了个这方面的东西,就放到这里了。
因为在公司可以访问这个网站,其它的网站不让访问。


删除是不可能的了。。。还是去看下版规吧
8 楼 tyyz1314168 2010-02-24  
我怎么把帖子删除了?

我解释一下:
我发这个帖子是有我的目的,不是给别人看的,是给我自己看了。
公司在搞信息安全,不让上网,我也好久没搞这方面的东西了,回家时间紧急在网上找了个这方面的东西,就放到这里了。
因为在公司可以访问这个网站,其它的网站不让访问。
7 楼 chan.d 2010-02-24  
N 年前的东西
6 楼 風一樣的男子 2010-02-24  
很水的帖。。。
5 楼 toney_kissinger 2010-02-24  
LZ的内容贴出来,未免有点………………。耽误大家的时间,开始以为是什么有创意的东西,原来是这种内容。希望管理员好好审查一下。
4 楼 liguiking 2010-02-24  
无聊可以读书写字,不要浪费能源
3 楼 YiSingQ 2010-02-23  
LZ的内容纯粹就是初学者的玩意。
2 楼 geweixin 2010-02-23  
这贴有点水。
1 楼 dieslrae 2010-02-23  
不管是文档还是字符串,解析的都是XML对象

相关推荐

    jdom解析xml字符串

    NULL 博文链接:https://songlitao.iteye.com/blog/2257789

    java解析xml字符串

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

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

    下面是一个示例代码,展示了如何将一个XML字符串转换为JDOM的`Document`对象: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.StringReader;...

    Jdom 生成和解析XML字符串

    ### JDOM 生成和解析 XML 字符串 #### 一、概述 JDOM(Java Document Object Model)是一种基于 Java 的 API,用于处理 XML 文档。它提供了一种简单且直观的方式来构建、修改以及读取 XML 文件。JDOM 主要有两个...

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

    `XMLOutputter`负责将`Document`对象转换为XML字符串并写入到文件。 在实际应用中,你可能需要根据XML的结构和需求调整这些步骤。JDOM提供了丰富的API来处理XML,包括查找、添加、删除元素和属性,以及处理命名...

    jdom解析xml文件

    在Java中,JDOM(Java Document Object Model)是一个流行的选择来解析和操作XML文档。它提供了一个纯Java的API,使开发者能够高效地读取、创建和修改XML内容。 ### JDOM基本概念 1. **Document对象**:JDOM的核心...

    Jdom解析XML

    通过JDOM,开发者可以使用Java API来处理XML文档,无需了解底层的SAX或DOM解析器的工作原理。 **JDOM的基本元素** - **Document**: XML文档的根节点,代表整个XML文档。 - **Element**: 表示XML文档中的元素,它是...

    JDOM解析XML

    5. 若要写回XML,可以使用`XMLOutputter`类将`Document`对象转换回XML字符串或直接写入文件。 在实际应用中,JDOM可以结合XPath(通过jaxen.jar实现)来快速定位XML文档中的特定节点,提高开发效率。例如,通过`...

    Jdom解析xml案例

    1. **DOM(Document Object Model)**:DOM是一种树形结构,将XML文档解析为一系列的对象,这些对象可以被Java程序访问和操作。JDOM就是基于DOM模型的实现。 2. **Element**: 在JDOM中,`Element`类代表XML文档中的...

    xml数据前后台解析:jdom与dom4j源码,程序可以跑

    1. **JDOM**:JDOM是Java针对DOM规范实现的一个轻量级库,它提供了更直观、更高效的API来处理XML文档。JDOM允许开发者直接使用Java对象模型来创建、修改和读取XML。例如,使用JDOM创建XML文档的代码可能如下: ```...

    jdom解析XML(修改为比较通用的方法)

    1. **构建Document对象**:这是解析XML的第一步,通过`SAXBuilder`类,我们可以将XML字符串或文件转换为`Document`对象。 ```java SAXBuilder builder = new SAXBuilder(); File xmlFile = new File("mjy.xml"); ...

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

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

    jdom解析xml用到的jar包

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

    Dom JDom 解析xml 文件

    3. 保存更改:使用`org.jdom2.output.Format`和`XMLOutputter`或`Transformer`将`Document`对象转换为XML字符串或写入文件。 在实际开发中,选择DOM还是JDOM取决于需求。DOM适合小到中型的XML文件,且需要频繁随机...

    解析XML所需的jar jdom.jar

    5. **转换回XML字符串**:如果需要将修改后的XML结构转换回字符串,可以使用`XMLOutputter`类: ```java import org.jdom2.output.XMLOutputter; XMLOutputter xmlOutput = new XMLOutputter(); String xmlString =...

    java利用jdom读取xml文件

    5. 保存修改:如果需要保存对XML文件的修改,可以使用`XMLOutputter`类将`Document`对象转换回XML字符串,然后写回文件: ```java XMLOutputter outputter = new XMLOutputter(); String xmlString = outputter....

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

    这个`convertToStandardXml`方法首先使用SAXBuilder解析非标准的XML字符串,生成一个`Document`对象。SAXBuilder是基于事件驱动的解析器,它不会一次性加载整个XML文档到内存,因此适用于处理大文件。然后,我们使用...

    Jdom解析xml文件

    在Java中,解析XML文件是一项常见的任务,而JDOM是Java开发的一个库,专门用来处理XML文档。JDOM提供了一种高效、灵活的方式来创建和操作XML文档,它基于树形结构,使得XML的解析、构建和修改变得更加简单。 **JDOM...

    dom4j和jdom解析XML小例子

    这段代码首先创建了一个`SAXBuilder`对象,并用它来解析XML字符串。然后,我们获取了XML文档的根元素和命名空间。接下来,我们访问了`Head`和`Error`节点,并获取了`Error`节点的属性值。最后,我们遍历了所有`...

Global site tag (gtag.js) - Google Analytics