package jaxb.test;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Account {
private String id;
private String name;
@XmlAttribute (name = "id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@XmlElement(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package jaxb.test;
import java.net.URL;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
public class Client {
public static void main(String[] args) throws Exception {
// JAXBContext context = JAXBContext.newInstance(UserList.class);
JAXBContext context = JAXBContext.newInstance(Account.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
// URL xmlFileUrl = Client.class.getResource("users.xml");
// UserList userList = (UserList) unmarshaller.unmarshal(xmlFileUrl);
// System.out.println(userList.getUsers().get(0).getName());
// System.out.println(userList.getUsers().get(0).getId());
URL xmlFileUrl = Client.class.getResource("account.xml");
Account account = (Account) unmarshaller.unmarshal(xmlFileUrl);
System.out.println(account.getId());
System.out.println(account.getName());
}
}
package jaxb.test;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
public class User {
private int id;
private String name;
@XmlAttribute (name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@XmlElement(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return id + ":" + name;
}
}
package jaxb.test;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "users")
public class UserList {
List<User> users;
@XmlElement(name = "user")
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<account id="1">
<name>ibm</name>
</account>
<?xml version="1.0" encoding="UTF-8"?>
<users xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<user id="1">
<name>Unmi</name>
</user>
<user id="2">
<name>She</name>
</user>
</users>
分享到:
相关推荐
在给定的例子中,我们将深入理解如何使用JAXB注解来生成XML。 1. **@XmlType**: 这个注解用于定义类的属性在XML输出中的顺序。在`WriterXml`类中,propOrder 属性指定了"id", "name", "age", "book"这四个属性的...
在"Test"这个例子中,我们可以假设有一个XML文档,描述了某个图书信息,例如: ```xml <title>Java编程思想 布鲁斯·艾克尔 机械工业出版社 ``` 对应地,我们有以下的Java类: ```java @XmlRootElement(name...
这个简单的例子将带你深入理解JAXB的基本用法,包括注解的使用和Java与XML之间的互相转换。 **一、JAXB的基本概念** 1. **Java对象到XML**: JAXB允许我们将Java对象直接序列化为XML格式的文档,这称为对象到XML的...
在给定的例子"JAXBDemo"中,我们可以预期它包含了一个简单的JAXB使用示例,帮助我们理解这一过程。 首先,让我们了解一下JAXB的工作原理。JAXB的核心思想是通过元数据(如注解或XML Schema)将Java类与XML结构关联...
**标题:“JAXB解析XML为对象例子”** 在Java开发中,XML作为一种常见的数据交换格式,经常被用于存储和传输数据。Java Architecture for XML Binding(JAXB)是Java平台的标准API,它允许开发者将Java对象绑定到...
4. **示例和教程**:可能包含演示如何使用JAXB的示例代码(如`samples`目录),这些例子可以帮助初学者快速上手。 5. **构建脚本和配置文件**:如`build.xml`(Ant)或`pom.xml`(Maven)文件,用于构建和测试JAXB ...
在这个例子中,我们关注的是如何使用Java技术栈中的两个关键库:JAXB(Java Architecture for XML Binding)和Apache POI,来实现特定的功能。JAXB用于从XML文件中读取数据,而Apache POI则用于处理Excel文档,特别...
以下是一个简单的JAXB解析生成XML的例子: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; public class JaxbExample { public static ...
在这个例子中,我们通常会创建一个简单的Java类,比如`HelloWorld`,并用JAXB注解来描述如何映射到XML元素。例如: ```java import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation....
在这个例子中,它定义了如何编译、测试和打包JAXB项目。 **catalog.xml** 文件通常用于定义实体解析器的目录,它可以帮助解决XML文档中的外部引用。在JAXB中,它可以用于映射XML架构到本地的Java类,避免网络查找,...
JAXB 解析 XML JAXB (Java Architecture for XML Binding) 是一种基于 Java 的 XML 绑定技术,主要功能是根据 DTD 或者 XML Schema 将 XML Element 转化为 Java 类。JAXB 将 XML 文本流转化为 Java Object,把 XML ...
### 使用JAXB生成XML文档详解 #### 一、前言 在现代软件开发过程中,XML(可扩展标记语言)作为一种重要的数据交换格式,被广泛应用于各种应用场景中。特别是在J2EE(Java Platform, Enterprise Edition)领域,...
在给定的例子中,我们看到了如何使用JAXB 2.1.6版本创建和解析XML文档。首先,定义了一个名为`Product`的Java类,该类使用JAXB注解来指定XML映射规则。`@XmlRootElement`注解定义了XML根元素的名称和命名空间,`@...
**JAXB与JPA初应用** Java Architecture for XML Binding (JAXB) 和 Java Persistence API (JPA) 是Java开发中的两个重要技术,主要用于处理XML数据和实现对象关系映射(ORM)。在本篇中,我们将深入探讨这两个技术...
在这个例子中,`unmarshal()`方法将XML文件解析成`Root`对象。然后,我们可以通过对象的getter方法获取到嵌套子节点`nested`中的`text`字符串。 如果我们只想获取特定子节点的字符串,而不关心整个对象模型,可以...
**Java Architecture for XML Binding (JAXB)** 是Java平台上的一个标准技术,用于在XML文档和Java对象之间进行数据绑定。它允许开发者将XML结构转换为Java对象,反之亦然,从而简化了XML处理。JAXB提供了两个核心...
在这个例子中,`students.xml`是我们的输入和输出文件。`unmarshal`方法用于从XML文件中读取数据,而`marshal`方法则用于将Java对象写入XML文件。`JAXB_FORMATTED_OUTPUT`属性设置为`true`是为了让生成的XML文件更易...
这个例子展示了JAXB在处理XML数据时的便利性。 ### 总结 JAXB是Java中处理XML的强大工具,通过注解或配置文件,它可以自动完成Java对象与XML之间的转换,简化了开发流程。了解和掌握JAXB对于任何需要处理XML的Java...
在上述例子中,我们使用了注解来指示JAXB如何将对象结构映射到XML结构。这些注解如@XmlRootElement、@XmlElement和@XmlElementWrapper告诉JAXB对象的哪些属性应该被转换成XML元素。 当执行对象到XML的转换时,JAXB...