写文件:
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;
public class JavaXML {
public void BuildXMLDoc() throws IOException, JDOMException {
// 创建根节点 list;
Element root = new Element("list");
// 根节点添加到文档中;
Document Doc = new Document(root);
// 此处 for 循环可替换成 遍历 数据库表的结果集操作;
for (int i = 0; i < 5; i++) {
// 创建节点 user;
Element elements = new Element("company");
// 给 company 节点添加属性 id;
elements.setAttribute("id", "" + i);
// 给 company 节点添加子节点并赋值
// new Element("company_name")中的 "company_name" 替换成表中相应字段,setText("name")中 "name 替换成表中记录值;
elements.addContent(new Element("company_name").setText("name" + i));
elements.addContent(new Element("company_email").setText("@" + i+ ".com"));
// 给父节点list添加company子节点;
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
// 输出company_list.xml文件;
XMLOut.output(Doc, new FileOutputStream("company_list.xml"));
}
/**
* 主方法用于测试
* @param args
*/
public static void main(String[] args) {
try {
JavaXML javaXML = new JavaXML();
javaXML.BuildXMLDoc();
} catch (Exception e) {
e.printStackTrace();
}
}
}
读文件:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class ReadXML {
public List GetCompanyList(String XML_url){
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(XML_url);
Element root = doc.getRootElement();
List list = root.getChildren();
ArrayList<CompanyListForm> formList = new ArrayList<CompanyListForm>();
Iterator iter = list.iterator();
while (iter.hasNext()) {
Element e = (Element) iter.next();
CompanyListForm companyListForm = new CompanyListForm();
companyListForm.setCompany_name(e.getChildText("company_name"));
companyListForm.setCompany_email(e.getChildText("company_email"));
formList.add(companyListForm);
}
Iterator iterator = moList.iterator();
while (iterator.hasNext()) {
CompanyListForm companyListForm = (CompanyListForm) iterator.next();
System.out.println("company_name:" + companyListForm.getCompany_name());
System.out.println("company_email:" + companyListForm.getCompany_email());
}
return formList;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 主方法用于测试
* @param args
*/
public static void main(String[] args) {
ReadXML readXml = new ReadXML();
readXml.GetCompanyList("e:\\company_list.xml");
}
}
分享到:
相关推荐
JDOM虽然功能强大,但在处理大型XML文件时可能效率较低,因为它需要将整个文档加载到内存。这时,可以考虑使用StAX或Java内置的DOM API,它们提供了流式处理或分块处理的能力,降低了内存消耗。 总结来说,JDOM是一...
JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...
标题“JDom 读写XML”指的是使用JDom库进行XML文档的处理,包括读取和写入操作。JDom是一个Java API,它为XML文档提供了全面且高性能的处理能力,使得开发者能够方便地构建、修改和访问XML数据。 **JDom详解** 1. ...
这使得开发人员能够非常直观地对XML文档进行读取、修改和创建。JDOM的核心类包括: - `Document`:代表整个XML文档。 - `Element`:代表XML文档中的元素节点。 - `Text`:代表元素中的文本内容。 - `Attribute`:...
- **优点**:JDOM提供了对XML的高性能访问,支持XPath查询,且完全基于Java,无需依赖其他库,如DOM或SAX。 2. **JDOM基本结构** - **Element(元素)**:XML文档中的每一个节点,可以包含子元素、属性和文本。 ...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、配置文件、文档存储等领域。...在实际开发中,结合这些工具,我们可以轻松地实现对XML数据的读取、修改和生成。
总之,JDOM是一个强大的XML处理库,它简化了XML文档的读写和操作。理解其基本用法和API,能够帮助开发者高效地处理XML任务。在实际项目中,根据需求选择合适的解析方式,并注意资源管理,可以充分发挥JDOM的优势。
通过这个简单的示例,我们了解了如何使用 JDOM 库来读取、解析、修改和保存 XML 文件。JDOM 提供了一个强大而直观的 API,使得开发者能够更加高效地处理 XML 数据。对于需要频繁与 XML 数据交互的应用程序来说,JDOM...
7. **修改XML**: JDOM支持对XML进行修改,包括添加、删除和更新元素、属性等。修改后,需要使用`XMLOutputter`来生成新的XML字符串或写入到文件。 ```java XMLOutputter xmlOutput = new XMLOutputter(); xml...
JDOM-1.1是该库的一个版本,它包含了对XML标准的全面支持以及一些性能优化。`jdom-1.1.zip`是这个版本的源代码或二进制包,通常包含库的jar文件、文档、示例代码等资源。`jdom-1.1.jar`则是JDOM-1.1的核心库文件,...
总的来说,JDOM是Java开发者处理XML文件的一种强大工具,尤其适合需要频繁读写和操作XML文档的场景。通过JDOM,开发者可以方便地创建、解析和修改XML文档,提高开发效率。在实际项目中,可以根据需求和性能考虑选择...
下面是一个简单的 JDOM 使用示例,演示如何读写 XML 文件。在这个例子中,我们有一个名为 `MyXml.xml` 的 XML 文件,包含两个书籍条目,每个条目有书名、作者、出版社、价格和出版日期等信息。为了操作这个 XML 文件...
在"使用Struts,jdom对xml数据进行操作"这个主题中,我们主要会探讨如何在基于Struts的Web应用中,利用JDOM来管理存储在XML文件中的数据。首先,让我们深入了解这两个技术: **Struts框架**: 1. **架构**:Struts...
《使用JDOM库进行XML文件的读写》 在Java编程中,处理XML文件是一项常见的任务,而JDOM(Java Document Object Model)提供了一个高效、简单且方便的方式来操作XML文档。JDOM允许开发者以面向对象的方式创建、修改...
通过这个示例,我们可以看到 JDOM 提供了简洁的 API 来进行 XML 的读写操作,使得开发者无需深入了解 XML 解析底层机制,就能高效地处理 XML 文档。对于初学者来说,这是一个很好的起点,可以快速上手 XML 的处理。
**标题:** 使用JDOM解析XML ...结合JSP,我们可以构建动态的、与用户交互的Web应用程序,实现对XML数据的读取、展示和更新。通过实践和理解这个例子,你将掌握XML解析的核心技能,为后续的开发工作打下坚实的基础。
JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地创建、修改和处理XML文档。JDOM的核心类包括`Element`、`Attribute`和...
在`modify()`方法中,同样使用了`SAXBuilder`解析XML文件,生成`Document`对象,然后可以对文档进行修改。例如,如果想要修改特定元素的属性或内容,可以找到相应的元素并调用相应的修改方法。 DOM4J和JDOM之间的...
6. **`XPath`**: 提供了对XML文档进行XPath查询的能力。 使用JDOM解析XML的基本步骤如下: 1. **创建Builder对象**:首先,你需要创建一个`Builder`对象,如果是从XML文件构建,通常会用到`SAXBuilder`。 2. **...
这种方式方便了对XML文档的随机访问,但可能会消耗大量内存,尤其对于大型文档。 2. **SAX解析**:SAX(Simple API for XML)采用事件驱动模型,不将整个文档加载到内存,而是逐行解析,触发相应的事件处理器。这种...