首页 > 解决方案 > 无法评估具有 [@xsi:type='ED'] 类型的 Xpath xpression

问题描述

无法评估具有 [@xsi:type='ED'] 类型的 Xpath xpression

XPathFactory xpathFactory = XPathFactory.newInstance();

XPath xpath = xpathFactory.newXPath(); 字符串名称 = xpath.evaluate("/MCCI_IN200100UV01/PORR_IN049016UV[1]/controlActProcess[@classCode='CACT'][@moodCode='EVN']/subject[@typeCode='SUBJ'][1]/investigationEvent[@ classCode='INVSTG'][@moodCode='EVN']/component[@typeCode='COMP'][adverseEventAssessment][1]/adverseEventAssessment[@classCode='INVSTG'][@moodCode='EVN']/subject1 [@typeCode='SBJ'][1]/primaryRole[@classCode='INVSBJ']/subjectOf2[@typeCode='SBJ'][observation[id][code[@code='29'][@codeSystem= '2.16.840.1.113883.3.989.2.1.1.19']]][1]/observation[@classCode='OBS'][@moodCode='EVN']/outboundRelationship2[@typeCode='PERT'][observation/代码[@code='30'][@codeSystem='2.16.840.1.113883.3.989.2.1.1.19'

// doc 是通过 build.parse() 解析的 xml 文档;

将 value[@xsi:type='ED'][1]/text() 更改为 value/text() 后,相同的表达式正在工作

像这样的示例 xml 内容

<outboundRelationship2 typeCode="PERT">
<observation moodCode="EVN" classCode="OBS">
<code code="30" codeSystem="2.16.840.1.113883.3.989.2.1.1.19" codeSystemVersion="2.0" /> 
<value xsi:type="ED">myalgias, back</value> 
</observation>
</outboundRelationship2>

标签: javaxpath

解决方案


尝试更换

value[@xsi:type='ED']

value[@*[local-name()='type' and .='ED']]

推荐阅读