我有一个像这样的xml。
<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");
我无法获取子节点,我没有收到任何错误,因此我无法找到它的根本原因。 需要帮忙。 提前致谢!!!!
答案 0 :(得分:0)
xmlConfig.configurationAt
未获取任何值,因为card
<{1}}的根元素,因此调用XML
会使其搜索你的根元素中的元素configurationsAt("card")
,这里你没有这样的元素,所以你什么也得不到。
对我来说,你尝试做的事情并没有多大意义,但如果由于未知原因你真的需要使用card
来访问根元素,那么请使用空configurationsAt
作为使其获取根元素的参数:
String
您应该做的只是使用类List<HierarchicalConfiguration> cardList = xmlConfig.configurationsAt("");
的实例,根据预期的类型使用XMLConfiguration
方法之一访问您的属性。
例如,让我们说我想获得getXXX
和name
的值,我会继续下一步:
length