我想使用xpath表达式来选择一个xml文档中定义了不同名称空间的节点集。运行与名称空间的xpath查询问题
的XML看起来是这样的:
<?POSTEN SND="SE00317644000" REC="5566420989" MSGTYPE="EPIX"?>
<ns:Msg xmlns:ns="http://www.noventus.se/epix1/genericheader.xsd">
<GenericHeader>
<SubsysId>1</SubsysId>
<SubsysType>30003</SubsysType>
<SendDateTime>2009-08-13T14:28:15</SendDateTime>
</GenericHeader>
<m:OrderStatus xmlns:m="http://www.noventus.se/epix1/orderstatus.xsd">
<Header>
<OrderSystemId>Soda SE</OrderSystemId>
<OrderNo>20090811</OrderNo>
<Status>0</Status>
</Header>
<Lines>...
我要选择具有“OrderStatus”孩子,所以我想用下面的XPath表达式只是“消息” -nodes:/消息[计('OrderStatus')> 0]但这不起作用,因为我收到一条错误消息:“名称空间管理器或XsltContext需要,该查询具有前缀,变量或用户定义的函数”。所以我想我想用一个看起来像这样的表达式:/ * [local-name()='Msg'] [count('OrderStatus')> 0]但这似乎并不工作.. 有任何想法吗?
BR,
安德烈亚斯