在java中使用Xpath从大型xml文件中提取值

时间:2012-07-26 18:44:56

标签: java xml xpath

我想从一个大的xml文件中提取一个值(我正在处理的一个更大的xml项目的一部分)

所以xml结构是这样的:

<m:Report>
    <m:Messages>
        <m:report_type>
            <m:Report_Data> (last value)
                <m:Data_Item> (must be specific type)
                <m:Value> (want this)

After this all tags close properly

所以正确的xpath查询看起来像这样:

XPathExpression expr = x.compile("//m:Report/m:Messages/m:Report_type/m:Report_Data[m:Data_Iten='PRICE'][last()]/m:Value/text()") ;

我对这个查询没有太多运气,我哪里错了?

1 个答案:

答案 0 :(得分:0)

您的查询中只有错误。 Report_type应为report_typeData_Iten应为Data_Item

XPathExpression expr = x.compile("//m:Report/m:Messages/m:report_type/m:Report_Data[m:Data_Item='PRICE'][last()]/m:Value/text()");

假设您的输入数据中有Data_Item PRICE,那么这应该是<m:Value>