接上篇,今天说说用JDOM解析、生成XML文件的简单小例子。
1、解析
XML文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<root>
<request type="Pending" flowType="GENERAL" flowName="报销流程"
docId="185647" flowId="16409" nodeName="报销人确认" wikId="58288"
sendId="1210040" userId="1210040" createDate="2009-12-03"
title="费用报销 " flowCreaterId="1210040" nodeType="1"
bosTime="2009-12-03 09:36:15">
<pro type="att"></pro>
<pro type="textarea" name="OP_bxryj" title="处理意见" need="true"></pro>
</request>
</root>
JAVA代码:
public void parseXML(String xmlPath){
/* //创建一个新的字符串
StringReader read = new StringReader(xml);
//创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
//创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();*/
SAXBuilder sb = new SAXBuilder();
try {
//创建文档
Document doc = sb.build(new FileInputStream(xmlPath));
Element root = doc.getRootElement();//获得XML的根元素
System.out.println(root.getName());
System.out.println("------------------------------");
List list = root.getChildren();
for(int i = 0; i < list.size(); i++){
Element req = (Element)list.get(i);
System.out.println(req.getName());
System.out.println(req.getAttributeValue("type"));
System.out.println(req.getAttributeValue("flowName"));
System.out.println();
List att_list = req.getAttributes();
for(int j = 0; j < att_list.size(); j++){
Attribute att = (Attribute)att_list.get(j);
System.out.println(att.getName());
System.out.println(att.getValue());
System.out.println(att.getQualifiedName());
}
System.out.println();
Attribute att = req.getAttribute("nodeName");
System.out.println(att.getName());
System.out.println(att.getValue());
}
System.out.println("--------------------------------------------");
List pro_list = XPath.selectNodes(root, "request/pro");
for(int k = 0; k < pro_list.size(); k++){
Element ele = (Element)pro_list.get(k);
System.out.println(ele.getName());
System.out.println(ele.getText());
System.out.println(ele.getTextTrim());
}
System.out.println("-------------------------------------------");
Element pro = (Element)XPath.selectSingleNode(doc, "root//pro[@type='att']");
System.out.println(pro.getName());
System.out.println(pro.getValue());
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
--------------------------------------------------------------------
2、生成XML文件
代码如下
public void createXML(){
Element root = new Element("root");//创建根元素
Document doc=new Document(root);
Element req = new Element("request");//根元素的子元素
root.addContent(req);//添加到根元素中
req.setAttribute("type", "test");//创建属性元素
req.setAttribute("name","测试");
Element pro = new Element("pro");//创建PRO元素
Attribute att = new Attribute("pro_type","pro_test");//用不到的方法创建属性元素
pro.setAttribute(att);
pro.setText("设置TEXT");
req.addContent(pro);
Element cd = new Element("pro");
cd.setAttribute("cd_type","cd_test");
CDATA cdata = new CDATA("哈哈我找到了");//设置CDATA元素
cd.addContent(cdata);
req.addContent(cd);
//输出结果到编辑器
XMLOutputter out = new XMLOutputter();
out.setFormat(Format.getCompactFormat().setEncoding("GB2312"));
System.out.println(out.outputString(doc));
}
分享到:
相关推荐
Java实现Jdom生成解析xml,一般可以用到存储数据。比如我以前做过的ERP系统,权限初始化就用的解析XML,但是现在上传的只是生成XML。如果哪位需要解析XML,留个言。。。。
**Java与XML:JDOM解析XML...通过JDOM,可以轻松地解析、修改和生成XML内容。在JSP环境中,这些操作可以帮助创建动态的Web应用,实现与XML数据的交互。通过实践和理解这些基本概念,你可以更好地掌握Java中的XML处理。
下面我们将深入探讨如何利用JDOM生成XML以及解析XML。 一、JDOM生成XML 1. **导入JDOM库**: 首先,你需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....
JDOM 是一个开源项目,基于树型结构,利用纯 Java 技术对 XML 文档实现解析、生成、序列化以及多种操作。JDOM 直接为 Java 编程服务,利用 Java 语言的诸多特性(方法重载、集合概念以及映射),把 SAX 和 DOM 的...
本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本概念。JDOM提供了一组Java对象来表示XML文档,包括Element(元素)、Attribute(属性)、Text(文本...
### jdom解析XML文件及将字符串解析为XML #### 一、JDOM简介与环境搭建 JDOM(Java Document Object Model)是一种用Java语言编写的轻量级API,用于处理XML文档。它允许开发者轻松地读取、创建、修改XML文档,并将...
使用JDOM解析这样的文件,可以先创建一个`SAXBuilder`实例,然后调用`build()`方法读取XML文件,生成一个`Document`对象。这个`Document`对象就是整个XML文档的根节点,下面挂载着所有其他的元素节点。 接下来,...
使用JDOM解析XML文档通常包括以下几个步骤: 1. 创建`SAXBuilder`实例,这是JDOM提供的解析器,可以将XML输入源转换为`Document`对象。 2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. ...
在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
综上所述,"Spring+iBatis+JDom递归生成XML树"这个项目展示了如何整合这三个工具来处理复杂数据的序列化。通过Spring管理依赖,iBatis处理数据库交互,JDom构建XML结构,实现了高效、灵活的XML生成方案。这对于需要...
3. **JDOM解析**:JDOM结合了DOM和SAX的优点,它允许开发者以DOM的方式操作XML,同时通过优化内存使用,降低了DOM的资源消耗。JDOM提供了直观的API,使得XML处理更符合Java程序员的习惯。 **JDOM的主要类和方法** 1...
JDOM是一个专为Java设计的XML处理库,它提供了一种高效且方便的方式来读取、修改和生成XML文档。 ### JDOM解析XML的基本概念 1. **DOM(Document Object Model)**:DOM是一种树形结构,将XML文档解析为一系列的...
本文将深入探讨如何使用JDOM库来生成XML文档,这是一种纯Java的API,设计用于简化XML处理。 JDOM是一个开源项目,它的全称是Java Document Object Model,它为Java程序员提供了一个方便的方式来创建和操作XML文档。...
### JDOM 生成和解析 XML 字符串 #### 一、概述 JDOM(Java Document Object Model)是一种基于 Java 的 API,用于处理 XML 文档。它提供了一种简单且直观的方式来构建、修改以及读取 XML 文件。JDOM 主要有两个...
**JDOM解析XML详解** XML(Extensible Markup Language)是一种用于标记数据的标准化语言,广泛应用于数据交换、配置文件和Web服务等领域。JDOM是Java领域中专门处理XML的一个库,它提供了一种高效且方便的方式来...
下面是一些使用JDOM解析XML的基本步骤: 1. **导入必要的JDOM库**:首先在Java源代码中导入JDOM相关的类,如: ```java import org.jdom.Document; import org.jdom.input.SAXBuilder; ``` 2. **创建SAXBuilder...
本实例将详细介绍如何使用JDOM解析XML,包括生成新的XML文件、读取XML以及修改XML。 1. **生成新的XML文件** 使用JDOM创建XML文件,首先需要构建一个`Element`对象作为根节点,然后添加子元素和属性。以下是一个...
这个"用jdom解析xml.rar"压缩包文件包含的资料显然是关于如何在Java环境中利用JDOM库来解析XML文档。 首先,我们需要理解XML的基本结构。XML文档由元素、属性、文本内容和声明组成。元素是XML的构建块,它们可以...
本篇将详细介绍如何利用JDOM在Java中生成XML文件,以及相关的核心概念和技术。 首先,我们需要理解XML的基本结构。XML(eXtensible Markup Language)是一种标记语言,它定义了元素、属性和文本内容,这些构成了XML...