package com.io;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.List;
import nu.xom.Document;
import nu.xom.Element;
import nu.xom.Serializer;
public class XmlCtrTest {
public static void main(String[] args) throws IOException {
List<Person> people = Arrays.asList(new Person("DR.", "Jie"),
new Person("MJ", "Tim"), new Person("Phillip", "Vic"));
System.out.println(people);
Element root = new Element("people");
for(Person p:people)
root.appendChild(p.getXML());
Document doc = new Document(root);
Person.format(System.out,doc);
Person.format(new BufferedOutputStream(new FileOutputStream("peolple.xml")),doc);
}
}
class Person{
private String firstV,lastV;
public Person(String first, String last) {
super();
this.firstV = first;
this.lastV = last;
}
public Element getXML() {
Element person = new Element("person");
Element first = new Element("first");
first.appendChild(firstV);
Element last = new Element ("last");
last.appendChild(lastV);
person.appendChild(first);
person.appendChild(last);
return person;
}
public String toString() {return firstV + " " + lastV;}
public static void format(OutputStream os,Document doc) throws IOException {
Serializer serializer = new Serializer(os,"ISO-8859-1");
serializer.setIndent(4);
serializer.setMaxLength(60);
serializer.write(doc);
serializer.flush();
}
}
XML读取:
public class ReadXMlExample extends ArrayList<Person>{
public ReadXMlExample(String fileName) throws ValidityException, ParsingException, IOException {
Document doc = new Builder().build(fileName);
Elements elements = doc.getRootElement().getChildElements();
for(int i = 0; i<elements.size(); i++) {
add(new Person(elements.get(i)));
}
}
public static void main(String[] args) throws ValidityException, ParsingException, IOException {
ReadXMlExample rxe = new ReadXMlExample("peolple.xml");
System.out.println(rxe);
}
}
分享到:
相关推荐
Java解析和生成XML的知识点主要涵盖了使用JAXB(Java Architecture for XML Binding)框架来实现Java对象与XML(可扩展标记语言)之间的数据转换。JAXB提供了一种便捷的方式,通过注解(Annotation)来实现这一过程...
### JAVA生成XML文件知识点 #### 一、简介 在Java编程中,生成XML文件是一种常见的需求,尤其是在数据交换、配置管理或系统间通信时。本文档通过一个具体的示例介绍了如何使用Java语言来生成XML文件,并对代码进行...
标题“java根据xml生成schema_xsd_生成javabean”涉及的知识点主要包括: 1. XML到XSD的转换:XML文档可以被转化为XSD文件,以定义其结构和数据类型。这个过程通常通过工具完成,比如`trang.jar`,这是一个开源的...
总结起来,实现“java解析xml动态生成树形菜单结构”的项目,需要掌握以下核心知识点: 1. Java的DOM解析XML,构建树形数据结构。 2. 设计和实现无限层级的树形菜单数据模型。 3. 使用`JSTree`库在前端渲染树形菜单...
**知识点**: 上述代码展示了用于读写文件的基本Java类库(如`java.io.*`),以及用于处理XML的第三方库JDOM中的`SAXBuilder`等类。这些类是实现XML文件读写的基石。 ##### 2. 常量定义 ```java private static ...
下面将详细介绍如何在Java中生成XML以及相关的知识点。 1. **DOM(Document Object Model)模型** DOM是处理XML文档的一种常见方式,它将XML文档解析为一个树形结构,允许开发者通过节点操作来构建或修改XML文档。...
这一过程通常涉及到以下几个关键知识点: 1. **Java DOM解析器**:DOM(Document Object Model)是一种将XML文档转化为内存中的树形结构的解析方法,通过它可以遍历和修改XML文档。在Java中,`javax.xml.parsers....
本文将详细解析如何使用JDOM库在Java中动态创建XML文档,通过分析给定代码示例来深入理解其核心知识点。 ### JDOM库简介 JDOM(Java Document Object Model)是用于处理XML的Java库之一,它提供了简单直观的API来...
"xml自动生成java代码(改)"这个主题指的是通过解析XML文件来生成对应的Java类,以便于简化开发过程,提高效率。通常,这涉及到XML解析技术,如DOM解析,以及Java文件的读写操作。 DOM解析是处理XML文档的一种方法...
以下是一些关于“java日期和查询数据库生成XML文件类”的核心知识点: 1. **Java日期处理**: - `java.time`包:Java 8引入的新时间日期API,提供了`LocalDate`, `LocalTime`, `LocalDateTime`等类,它们提供了...
总的来说,这个场景涉及到Java编程中的文件操作、压缩文件解压、加密算法应用等多个知识点。通过`java-unrar-decryption-supported-20120613.jar`和`gnu-crypto.jar`,我们可以编写Java程序,高效地处理RAR文件,...
总结来说,"xml自动生成java代码"这个话题涵盖了XML的基本概念、DOM解析方法、Android中XML的使用,以及在Android环境下如何通过Java进行文件读写和JNI调用来优化XML处理。理解和熟练掌握这些知识点对于Android...
MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database ...通过这些知识点,开发者可以有效地使用`mysql-connector-java-5.1.45`来构建和维护与MySQL数据库交互的Java应用程序。
以下是关于"Castor 1.4 xsd生成java"的相关知识点: 1. **Castor框架**:Castor是一个强大的Java库,它允许开发人员通过简单的XML绑定来实现Java对象和XML之间的转换。它支持JAXB不涵盖的一些功能,比如存储过程...
`json-schema-inferrer`库的使用可以分为以下几个关键知识点: 1. **JSON Schema基本概念**:理解JSON Schema的基础概念,包括属性(properties)、类型(type)、枚举(enum)、最大值(maximum)、最小值...
#### 核心知识点 1. **Java API 使用** - `org.apache.poi`: 这是用于读取和写入 Microsoft Office 格式文件(如 Excel 和 Word)的 Java 库。 - `org.jdom`: 一个开源的 Java API 用于处理 XML 文档。 2. **...
综上所述,"java全自动生成krpano全景漫游-部分源码"项目涵盖了Java编程、图像处理、krpano全景技术、XML配置和JavaScript交互等多个关键知识点,是将技术与艺术相结合的体现。通过深入理解和实践这些技术,开发者...
了解以上知识点,对于XML在Java开发中的应用和面试准备具有重要意义。理解不同解析方式的优缺点,以及如何在项目中有效利用XML,可以帮助开发者在职场上展现出扎实的技术基础。同时,解决XML编码问题和掌握解析API的...
本篇文章将详细探讨“wsdl生成java代码工具”的相关知识点,以及如何使用这个工具。 1. **WSDL简介**: WSDL文件描述了Web服务的接口,包括服务提供的操作、输入和输出消息的格式,以及服务的位置。它使得开发者...
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,...掌握以上知识点,开发者即可熟练运用Dom4J生成复杂的XML文档,满足项目中对XML数据处理的需求。