java - 如何用java从xml文件中读取属性?

标签 java xml-parsing

我有以下 xml 文件:

<resources>
    <resource id="res001">
        <property name="propA" value="A" />
        <property name="propB" value="B" />
    </resource>
    <resource id="res002">
        <property name="propC" value="C" />
        <property name="propD" value="D" />
    </resource>
    <resource id="res003">
        <property name="propE" value="E" />
        <property name="propF" value="F" />
    </resource>
</resources>

我怎样才能用 Java/Xml 做这样的事情:

Xml xml = new Xml("my.xml");
Resource res001 = xml.getResouceById("res003");
System.out.println("propF: " + res.getProperty("propF"));

所以它打印:

F

我已经尝试过使用 XPathExpressionEngine 的 apache commons-configurations XMLConfiguration,但我就是无法让它工作。我用谷歌搜索并找到了一些例子,但都不起作用:( 我正在寻找不需要遍历所有元素的解决方案。

问候, 亚历克斯

最佳答案

这很简单,假设您愿意将属性文件重写为标准 Java 格式。假设您在名为 props.xml 的文件中包含以下内容:

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <comment>This is a comment</comment>
    <entry key="propA">A</entry>
    <entry key="propB">B</entry>
    <entry key="propC">C</entry>
    <entry key="propD">D</entry>
    <entry key="propE">E</entry>
    <entry key="propF">F</entry>
</properties>

然后像这样从文件中读取属性:

java.util.Properties prop = new Properties();
prop.loadFromXML(new FileInputStream("props.xml"));
System.out.println(prop.getProperty("propF"));

关于java - 如何用java从xml文件中读取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528052/

相关文章:

java - 为什么返回空白?

java - Wicket IFormValidator - 将多个 FormComponent 标记为无效

java - Android 工具栏后退按钮无法识别

vb.net - 将 XML 文件加载到 VB.Net 结构中

java - Eclipse 崩溃但是创建签名的 apk

java - 用户必须提供 JDBC 连接

Google Docs ImportXML 的 XPath 查询

python - 如何从python中的URL读取XML文件?

xml - 如果它们是字符串列表,如何获取值属性的内容并在 XSLT 中拆分它们?

java - XML解析后Element Node对象转换为Text Node