import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class JDomDemo {
/**
* @param args
*/
public static void main(String[] args) {
String filePath = "F:\\mystudty\\resourses\\create_parser_xml.xml"; // 一定要写对前面的路径,根目录不对,是不会自动创建文件夹的。
File file = new File(filePath);
createXml(file);
parserXml(file);
}
/**
* 生成XML文件
* @param fileName
*/
public static void createXml(File file){
Element rootElement = new Element("persons");
Document document = new Document(rootElement);
for(int i=0;i<4;i++){
Element person = new Element("person");
Attribute attr = new Attribute("address", "北京");
person.setAttribute(attr);
rootElement.addContent(person);
Element name = new Element("name");
name.setText("vic_"+i);
person.addContent(name);
Element sex = new Element("sex");
sex.setText("男");
person.addContent(sex);
Element age = new Element("age");
age.setText("26");
person.addContent(age);
}
XMLOutputter XMLOut = new XMLOutputter();
try {
Format f = Format.getPrettyFormat();
f.setEncoding("UTF-8");
XMLOut.setFormat(f);
XMLOut.output(document, new FileOutputStream(file));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
/**
* 解析XML文件
* @param fileName
*/
public static void parserXml(File file){
try {
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(file);
Element rootElement = document.getRootElement();
List persons = rootElement.getChildren("person");
for(int i=0;i<persons.size();i++){
Element person = (Element) persons.get(i);
List pros = person.getChildren();
for(int j=0;j<pros.size();j++){
Element element = (Element) pros.get(j);
System.out.print(element.getName()+":"+element.getValue());
System.out.print("\t");
}
System.out.println();
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关推荐
下面我们将深入探讨如何利用JDOM生成XML以及解析XML。 一、JDOM生成XML 1. **导入JDOM库**: 首先,你需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org....
Java实现Jdom生成解析xml,一般可以用到存储数据。比如我以前做过的ERP系统,权限初始化就用的解析XML,但是现在上传的只是生成XML。如果哪位需要解析XML,留个言。。。。
JDOM 是一个开源项目,基于树型结构,利用纯 Java 技术对 XML 文档实现解析、生成、序列化以及多种操作。JDOM 直接为 Java 编程服务,利用 Java 语言的诸多特性(方法重载、集合概念以及映射),把 SAX 和 DOM 的...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本概念。JDOM提供了一组Java对象来表示XML文档,包括Element(元素)、Attribute(属性)、Text(文本...
这个JSP页面首先解析XML文件,显示其顶级元素,然后以格式化的形式输出整个XML文档。 **7. 性能考虑** 虽然JDOM提供了易用性,但它的性能可能不如其他XML解析器如DOM4J或StaX。在处理大型XML文件时,应考虑这些...
### JDOM 生成和解析 XML 字符串 #### 一、概述 JDOM(Java Document Object Model)是一种基于 Java 的 API,用于处理 XML 文档。它提供了一种简单且直观的方式来构建、修改以及读取 XML 文件。JDOM 主要有两个...
在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>...
### jdom解析XML文件及将字符串解析为XML #### 一、JDOM简介与环境搭建 JDOM(Java Document Object Model)是一种用Java语言编写的轻量级API,用于处理XML文档。它允许开发者轻松地读取、创建、修改XML文档,并将...
首先创建`SAXBuilder`实例,然后解析XML文件得到`Document`对象。通过`Document`获取根元素,并遍历其子元素(在这个例子中是"employee"元素)。 总之,JDOM为Java开发者提供了一个简单、高效的XML处理工具,适用于...
2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. 通过`Document`对象访问XML结构,如获取根元素、遍历子元素等。 **创建XML文档** 创建XML文档主要涉及以下操作: 1. 创建`Element`对象,...
3. **读取XML文件**: 使用Builder的`build`方法解析XML文件,得到`Document`对象。 ```java File inputFile = new File("path_to_your_xml_file.xml"); Document document = builder.build(inputFile); ``` 4. ...
使用JDOM解析这样的文件,可以先创建一个`SAXBuilder`实例,然后调用`build()`方法读取XML文件,生成一个`Document`对象。这个`Document`对象就是整个XML文档的根节点,下面挂载着所有其他的元素节点。 接下来,...
你可以使用`SAXBuilder`或`DOMBuilder`来解析XML内容。 3. **查询与修改**:JDOM提供了XPath支持,可以方便地查询和修改XML文档。例如,`Document.getRootElement().getChild()`和`Document.getRootElement()....
同时,JDOM提供了丰富的API,如解析XML文件、查询元素、修改内容等,使得XML处理更加灵活和高效。 在实际开发中,你可能会遇到一些挑战,比如处理命名空间、处理CDATA段、或者进行XPath查询。JDOM都提供了相应的...
使用JDOM-1.0解析XML文档主要有两种方式:SAXBuilder和DOMBuilder。 #### 1. SAXBuilder SAXBuilder基于SAX(Simple API for XML)事件驱动模型,逐事件地处理XML文档,适用于大文件或内存有限的情况。 ```java ...
本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...
本实例将详细介绍如何使用JDOM解析XML,包括生成新的XML文件、读取XML以及修改XML。 1. **生成新的XML文件** 使用JDOM创建XML文件,首先需要构建一个`Element`对象作为根节点,然后添加子元素和属性。以下是一个...
3. **读取XML文件**:使用SAXBuilder的`build`方法解析XML文件。 ```java File xmlFile = new File("path_to_your_xml_file.xml"); Document document = saxBuilder.build(xmlFile); ``` 4. **访问XML文档的元素和...
通过配置XML文件,可以将SQL语句映射到Java方法上,方便地进行数据交互。 JDom是Java的一个库,用于处理XML文档。它提供了一种简单且高性能的方式来创建、修改和读取XML内容。在本项目中,JDom用于构建XML树结构。...