读取<map>中的值(基于XML的配置文件)

时间:2017-04-11 08:48:04

标签: java xml spring dom xml-parsing

我有一个基于XML的配置文件。我在那里声明了所有的bean,属性等。

这是我的文件(XMLFile.xml)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">

    <bean id="section" class="com.test.XML.Section">
        <property name="map">
            <map>
                <entry key="1" value="Green" />
            </map>
        </property>
    </bean>
</beans>

这是我的Main类(MainClass.java)

public static void main(String args[]) {
        Resource xmlResource = new FileSystemResource("XMLFile.xml");
        BeanFactory factory = new XmlBeanFactory(xmlResource);
        Color color = (Color)factory.getBean("section");

        System.out.println(color.getMap());
    }

我的Section.java

public class Color {
    private String map;

    public String getMap() {
        return map;
    }
    public void setMap(String map) {
        this.map = map;
    }
}

现在这是我的问题。我似乎无法输出输入键和值。

如果我将XML文件属性映射更改为:

<bean id="section" class="com.test.XML.Section">
        <property name="map">
            <value>Green</value>
        </property>
    </bean>

我得到的输出是Green

我想要做的是获得像对象一样的键和值。我坚持这个。

我想使用这种类型的声明来获取像color.getId()color.getValue()这样的对象:

<bean id="section" class="com.test.XML.Section">
        <property name="map">
            <map>
                <entry key="1" value="Green" />
            </map>
        </property>

这可能吗?我怎样才能做到这一点?

0 个答案:

没有答案