在java中读取xml时创建对象

时间:2012-08-08 08:21:10

标签: java xml

我想知道java中的xml解析。当我在java中读取xml文件时,是否可以同时创建xml标记的对象。让我举个例子。 这是我的xml文件。我读了我可以获得名字姓氏等...在阅读时,我想创建一个具有firtname和lastname值的员工对象。我知道我可以创建一个员工类,当我读取数据时,我可以为这个类赋值,但我不想这样做。 java是否提供了创建员工对象的更简单方法。我希望很清楚我的意思。

<company>
<employee>
    <firstname>Tom</firstname>
    <lastname>Cruise</lastname>
</employee>
<employee>
    <firstname>Paul</firstname>
    <lastname>Enderson</lastname>
</employee>
<employee>
    <firstname>George</firstname>
    <lastname>Bush</lastname>
</employee>

2 个答案:

答案 0 :(得分:1)

您可以尝试使用XStream。它应该允许你以一种非常简单的方式创建对象(来自他们的2-minute tutorial),你可以这样做: Employee emp = (Employee)xstream.fromXML(xml);

但是,请注意您的Employee节点嵌套在Company节点中,因此您可能需要做一些额外的工作。原样,您的XML最多会在名为Company的类中呈现,该类的列表为Employees

但是请注意,您需要拥有与之前可用的XML匹配的类。

答案 1 :(得分:1)

你说:

  

我知道我可以创建一个员工类,当我读数据时   可以为这个类赋值,但我不想这样做

为什么?这似乎是一种简单直观的方法(例如使用SAX解析器)。但是,如果您不想重新发明轮子(这是可以理解的),那么我会查看XStreamJAXB