【问题标题】:How to Parse XML Document By Class Name Using Java如何使用 Java 按类名解析 XML 文档
【发布时间】:2016-09-24 19:49:52
【问题描述】:

我正在编写一个解析工具来比较 Java 中两个 bean XML 文件的文本内容。文本内容发生了变化,我们需要一种方法来运行脚本以确保文本内容相同。我知道我们有 org.w3c.dom,它有一个方法 getElementsByTagName("tag_name") 并在 XML 文档中返回一个节点列表。我想知道是否有人知道使用类名的方法?我一直在寻找,但还没有解决这个问题。

<bean class="com.mycompany.myText" id="Q1.4">
    <property name="name">
        <value>Q1.4</value>
    </property>
    <property name="text">
        <value>This is text one</value>
    </property>
    <property name="retired">
            <value>true</value>
    </property>
</bean>

<bean class="com.mycompany.myText" id="Q1.5">
    <property name="name">
        <value>Q1.5</value>
    </property>
    <property name="text">
        <value>This is text two</value>
    </property>
    <property name="retired">
            <value>true</value>
    </property>
</bean>

我不能使用 'bean' 元素名称,因为还有其他几个不相关的 bean,我只需要 com.mycompany.myText 类的那些,我试图提取的值是 property name= text - 文本内容

我们将不胜感激。另外作为旁注,我应该提到我们无法直接控制 XML 文件的管理和结构,因为它是从第 3 方提供给我们的。

【问题讨论】:

    标签: java xml jsp xml-parsing javabeans


    【解决方案1】:

    如您所说,您需要按属性选择标签。

    您可以使用 XPath 来实现这一点。查看这些资源:

    表达式应该是这样的

    /bean[@class='com.mycompany.myText']/property[@name='text']/value

    我希望我能帮上点忙。

    【讨论】:

      猜你喜欢
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2015-12-10
      • 1970-01-01
      • 2012-11-02
      • 2012-01-08
      相关资源
      最近更新 更多