假设“空的completionDate节点”意味着“没有子节点的completionDate元素”,这将转化为completionDate[not(node())]
并且“所有包含空的completionDate节点的返回标签”因此转换为
//return[completionDate[not(node())]]
所以试试:
xmltype(p_xml_content).extract('//return[completionDate[not(node())]]')
你的表达方式,稍作修改,//return[completionDate=""]
也有效。
使用以下示例 XML
<sample>
<return id="1">
<completionDate></completionDate>
<otherData>some data</otherData>
</return>
<return id="2">
<completionDate>2013-09-10</completionDate>
</return>
<return id="3">
<completionDate />
<otherDataAlt>more data</otherDataAlt>
</return>
<return id="4">
<completionDate>2013-09-11</completionDate>
<otherDataAlt>alt data</otherDataAlt>
</return>
<return id="5">
<completionDate></completionDate>
</return>
<return id="6">
<completionDate />
</return>
</sample>
并返回ID 为 1、3、5 和 6 的节点。(在//return[completionDate=""]
http://www.xpathtester.com/和http://www.freeformatter.com/xpath-tester.html上测试)//return[completionDate[not(node())]]
<return>