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のゲッターのどれもこれを提供していない、あるいは私は正しい方法でそれをやっていないだろう。
ご協力いただければ幸いです。
[OK]を、私はそれを見つけました。どのように私はそれを見つけたのですか?getKeys()列挙子を次のように繰り返しました: Iterator iter = messageBean.getKeys(); オブジェクト値。 while(iter.hasNext()) { 値=(iter.next()); System.out.println(value.toString()); } 属性「id」にアクセスするには、次のようにしなければならないことに気づきました。 messageBean.getString( "message [@id]") 誰かが探している場合に役立ちますそれ。 Fer –