如何使用XML apache commons配置读取属性

时间:2015-06-02 11:45:41

标签: java xml xml-parsing apache-commons

我正在使用Apache Commons Configuration来读取standalone-full-ha.xml应用服务器中的xml文件 - Wildfly 8中的配置。

<?xml version="1.0" ?>
<server xmlns="urn:jboss:domain:2.2">
...
...
<profile>
...
...
  <subsystem xmlns="urn:jboss:domain:datasources:2.0">
    <datasources>
      <datasource jta="true" jndi-name="java:/TestDB" pool-name="TestDB" enabled="true" use-java-context="true" spy="false" use-ccm="true">
      <connection-url>jdbc:sybase:Tds:ip:port/db-name</connection-url>
      ...
...
  </subsystem>
 </profile>
</server>

如何从上面的xml中读取jndi名称java:/TestDB和连接网址jdbc:sybase:Tds:ip:port/db-name

我尝试了以下但没有获得任何结果。

XMLConfiguration conf = new XMLConfiguration();
((XMLConfiguration) conf).setDelimiterParsingDisabled(true);
((XMLConfiguration) conf).load("xml file location");
String url = conf.getString("server/profile/subsystem[xmlns= 'urn:jboss:domain:datasources:2.0']/datasources/datasource/connection-url");
String jndiName = conf.getString("server/profile/subsystem[xmlns= 'urn:jboss:domain:datasources:2.0']/datasources/datasource[jndi-name]");

任何人都可以建议如何使用XML apache commons配置从xml读取jndi名称和连接URL。感谢。

1 个答案:

答案 0 :(得分:0)

WildFly有一个管理API

https://docs.jboss.org/author/display/WFLY8/Management+API+reference

我建议使用该API以访问WildFly配置 而不是“手动”解析它