2016-11-15 2 views
0

私はこのようなxmlを持っています。 xmlConfig.configurationAtは値を取得していません

<card> 
    <name>VISA</name> 
    <id>0</id> 
    <length> 
     <value>16</value> 
    </length> 
    <bin> 
     <range> 
      <start>4</start> 
     </range> 
    </bin> 
</card> 

は、ここで私はこれをロードし、このXMLを解析するために使用しています私のコードです。

private XMLConfiguration loadInputXml(final String responseXml) 
     throws ConfigurationException { 
    final XMLConfiguration xmlConfig = new XMLConfiguration(); 
    xmlConfig.setDelimiterParsingDisabled(true); 
    xmlConfig.setValidating(false); 
    xmlConfig.load(new ByteArrayInputStream(responseXml.getBytes())); 
    return xmlConfig; 
} 

今、私はこのコード

XMLConfiguration xmlConfig = loadInputXml(xmlString); 
List<HierarchicalConfiguration> cardList = xmlConfig 
     .configurationsAt("card"); 

て値をフェッチしようとしています、私は子ノードを取得することはできないと私はので、私はルートを見つけることができないのです任意のエラーを取得しておりませんそれの原因。 ヘルプが必要です。 ありがとうございます!!!! cardはのルート要素あるので

+0

私は何を使うべきでしょうか?私はこれを初めて使用しています。 –

答えて

0

xmlConfig.configurationAtは、任意の値を取得されていない、あなたのXMLので、それはあなたのルート要素内の要素cardを検索し、あなたが何を取得してここにあなたがそのような要素を持っていないでしょうconfigurationsAt("card")を呼び出します。

わたしにとっては、それほど意味がありませんが、未知の理由で実際にはconfigurationsAtでルート要素にアクセスする必要がある場合は、空の要素Stringを使用してルート要素を次のようにフェッチします。次:あなたはむしろ何をすべき

List<HierarchicalConfiguration> cardList = xmlConfig.configurationsAt(""); 

は、単純に期待されるタイプに応じgetXXXのいずれかの方法を使用してプロパティにアクセスするためのクラスXMLConfigurationのインスタンスを使用しています。

たとえばのは、私がnamelengthの値を取得したいことを言わせて、私は次進行する:

XMLConfiguration xmlConfig = ... 
// Get as String the text content of the element name 
String name = xmlConfig.getString("name"); 
// Get as int the text content of the element value of the first element length 
int length = xmlConfig.getInt("length(0).value"); 
関連する問題