我正在加載一個XML文件配置的類,這個類從XMLConfiguration擴展。如何從SubnodeConfiguration中檢索xml屬性?
配置文件看起來是這樣的:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<global>
<reloadInterval>5</reloadInterval>
</global>
<definitions>
<definition>
<id>1</id>
<name>Test name</name>
<messages>
<message id="1">Help menu opt 1</message>
<message id="2">Help menu opt 2</message>
<message id="3">Help menu opt 3</message>
</messages>
</definition>
</definitions>
</root>
的辦法,我這個迭代和裝載如下:
private void updateDefinitions()
{
this.definitions.clear();
List<SubnodeConfiguration> lstDefinitions = getListConfig("definitions");
for(SubnodeConfiguration definition : lstDefinitions)
{
DefinitionBean aDefinition = new DefinitionBean();
aDefinition.setId(definition.getInt("Definition.id", -1));
aDefinition.setName(definition.getString("Definition.name", ""));
List<MessageBean> messages = new ArrayList<MessageBean>();
List<SubnodeConfiguration> lstMessages = definition.configurationsAt("definition.messages");
for(SubnodeConfiguration messageBean : lstMessages)
{
MessageBean message = new MessageBean();
message.setId(messageBean.getString("message"));
messages.add(message);
}
definition.setMessages(messages);
this.definitions.put(aDefinition.getId(), aDefinition);
}
}
的代碼工作正常,但問題是得到每個<message>
元素的id
屬性,我不知道如何檢索它。 SubnodeConfiguration的getter都沒有提供這個,或者,我沒有以正確的方式去做。
任何幫助將不勝感激。
好吧,我發現它。我如何找到它,我已經遍歷getKeys()枚舉器,如下所示: Iterator iter = messageBean.getKeys(); 對象值; (iter.hasxt()) { value =(iter.next()); System.out.println(value.toString()); } 這樣做,我注意到,要訪問屬性「ID」,我必須這樣做,如下所示: messageBean.getString(「message [@id]」) 希望這有助於如果有人正在尋找它。 Fer – 2012-03-13 16:57:06