如何将xml属性值映射到属性文件中的键?

时间:2014-07-16 10:24:20

标签: java xml properties-file

这是我的test.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<Class name="AirwayBill">
    <Attribute name="billNo" primary="true" />
    <Attribute name="date" primary="true" />
    <Attribute name="person" class_name="Person" />
</Class>
<Class name="Person">
    <Attribute name="perId" primary="true" />
    <Attribute name="fname" primary="false" />
    <Attribute name="lname" primary="false" />

还有一个包含.properties等键值对的billNO=12345文件, date=16/07/2014
我想在属性和xml文件中映射每个相应键之间的属性 我怎么做? 我能够读取属性值和键,我将每个存储在List中。

1 个答案:

答案 0 :(得分:1)

如果你想要这样的东西:

<someBean>
    <properties>
        <myProperty1>My Value 1</myProperty1>
        <myProperty2>My Value 1</myProperty2>
    </properties>
</someBean>

获取地图:

My Property 1    My Value 1 
My Property 2    My Value 2

代码:

@XmlAnyElement
public List<JAXBElement<String>> getXmlProperties() {
    List<JAXBElement<String>> elements = new ArrayList<JAXBElement<String>>();

    for (Map.Entry<String, String> property: properties.entrySet()) {
        elements.add(new JAXBElement<String>(new QName(property.getKey()), 
            String.class, property.getValue()));
    }

    return elements;
}

这是可能对您有用的链接:Use JAXB XMLAnyElement type of style to return dynamic element names

相关问题