gpt4 book ai didi

java - Apache Commons XMLConfiguration - 如何获取给定节点的对象列表?

转载 作者:太空狗 更新时间:2023-10-29 22:46:34 29 4
gpt4 key购买 nike

我有一个类似这样的 XML 配置文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<config>
<mainServerHostname>MainServer</mainServerHostname>
<failoverServers>
<server>
<ipAddress>192.168.0.5</ipAddress>
<priority>1</priority>
</server>
<server>
<ipAddress>192.168.0.6</ipAddress>
<priority>2</priority>
</server>
</failoverServers>
</config>

现在,我知道通过使用以下代码(在设置我的 XMLConfiguration 对象并调用它配置之后):

config.getList("failoverServers.server.ipAddress");

我可以获得所有 IP 地址的列表。这很方便,但如果我能做这样的事情会更方便:

config.getList("failoverServers.server");

并获取对象列表,每个对象都有一个 ipAddress 和一个优先级。据我所知,没有办法做到这一点。有没有人对我如何完成此类功能有任何想法?我什至非常愿意定义与 Java 可以将数据映射到的 XML 结构相对应的数据结构,如果这会使事情变得更容易的话(事实上,这可能会更好)。感谢大家的帮助!

最佳答案

您可以使用 HierarchicalConfiguration 而不是 XMLConfiguration。像这样工作:

List<HierarchicalConfiguration> servers = config.configurationsAt("failoverServers.server");
for(HierarchicalConfiguration server : servers) {
System.out.println(server.getString("ipAddress"));
}

参见:http://commons.apache.org/configuration/userguide/howto_xml.html

关于java - Apache Commons XMLConfiguration - 如何获取给定节点的对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14388418/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com