困惑如何从列表中生成XML文件

时间:2014-05-08 08:54:35

标签: java xml jaxb xjc

首先,我使用xjc命令生成一个名为“Site”的Java类,它与我提供的xsd文件相关联。该命令还创建了一个ObjectFactory类。

我想要创建的XML文件相当混乱,所以我想知道是否有一种简单的方法可以做到这一点。

XML看起来像:

<?xml version="1.0"?>
<Sites>
<Site id="1" name="SA" loc="C">
<Hosts>
    <Host id="11">
       <Host_Name>fd</Host_Name>
       <IP_address>10.2</IP_address>
    </Host>
    <Host id="12">
       <Host_Name>rq</Host_Name>
       <IP_address>10.1</IP_address>
    </Host>
</Hosts>
</Site>
<Site id="2" name="QA" loc="H">
<Hosts>
    <Host id="11">
       <Host_Name>fd</Host_Name>
       <IP_address>10.2</IP_address>
    </Host>
    <Host id="12">
       <Host_Name>rq</Host_Name>
       <IP_address>10.1</IP_address>
    </Host>
</Hosts>
</Site>
</Sites>

通过xjc命令生成的ObjectFactory是:

@XmlRegistry
public class ObjectFactory {


/**
 * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: src
 * 
 */
public ObjectFactory() {
}

/**
 * Create an instance of {@link Site }
 * 
 */
public Site createSite() {
    return new Site();
}

/**
 * Create an instance of {@link Site.Hosts }
 * 
 */
public Site.Hosts createSiteHosts() {
    return new Site.Hosts();
}

/**
 * Create an instance of {@link Site.Hosts.Host }
 * 
 */
public Site.Hosts.Host createSiteHostsHost() {
    return new Site.Hosts.Host();
}

}

现在我想以某种方式生成上面的xml文件,但是对于我来说,如何从ObjectFactory类中做到这一点并不明显(或者如果我甚至不愿意使用它)。

我正在阅读格式为:

的数据文本文件
site_id, name, loc, host_id, h_name, ip
10, dfsd, fdsa, 32, fd, 10
11, dffdsa, fdre, 33, fs, 11

我不确定如何生成XML树。我应该使用提供的ObjectFactory类吗? (它看起来看起来不会有任何帮助......)。

否则,我考虑循环遍历文本文件以创建“站点”对象列表,然后以某种方式以XML格式输出它。但是,如果有任何更容易的建议,请制作它们。

0 个答案:

没有答案