如果缺少引用,如何使用JXPathContext读取XML属性值

时间:2014-01-21 18:55:31

标签: java jxpath

鉴于以下XML,我们使用JXPathContext从中创建Java对象。

<fb1:Activity fb2:metadata="Activity1">
</fb1:Activity>
<fb21:ActivityMetadata fb2:id="Activity1">
    <fb1:Response>XXXX</fb1:Response> 
</fb1:ActivityMetadata>

读取值 -

String responseCode = context.getValue("metadata[1]/Response/value");

这是按预期工作的。现在让我们说,例如,从Activity到ActivityMetadata的引用丢失了。在这种情况下,我们可以做些什么来阅读响应值?保证XML中最多只能有一个ActivityMetadata元素。

不完整的XML - 需要解析此

<fb1:Activity fb2:metadata="">
</fb1:Activity>
<fb21:ActivityMetadata>
    <fb1:Response>XXXX</fb1:Response> 
</fb1:ActivityMetadata>

1 个答案:

答案 0 :(得分:0)

您提供给我们的路径与您向我们展示的文件不符。

暂时忽略这一点: XML根本不限制树;这是由XML Schema(如果有的话)和/或处理这种文档的应用程序完成的。只有那些定义了这种特定文档,模式或代码的人才能告诉您是否存在仅存在一个ActivityMetadata的保证或者如果存在多个ActivityMetadata则意味着什么。

XML是纯语法。意思是别人的问题。