我有一个XML文件(在BizTalk中),看起来像这样:
<ns0:Provide xmlns:ns0="http1" xmlns:ns1="http2" xmlns:ns2="http://schemas.microsoft.com/2003/10/Serialization/">
<ns0:providerRequest>
<ns1:Header>
<ns1:Operation>Get_RU_PatchData</ns1:Operation>
<ns1:RequestId>f6bbeb27-1bfd-4d9c-90e4-d195baf8ca60</ns1:RequestId>
<ns1:SendDate>2004-02-14T21:44:14</ns1:SendDate>
<ns1:SenderSystemName>temperat iras</ns1:SenderSystemName>
</ns1:Header>
<ns1:Parameters>
<ns1:Parameter>
<ns1:Name>turbine corripuit</ns1:Name>
<ns1:Value>regemque dedit</ns1:Value>
</ns1:Parameter>
</ns1:Parameters>
</ns0:providerRequest>
</ns0:Provide>
我想获取Parameters中唯一参数的值。问题是为什么这样的语句
string(/*[local-name()='Provide' and namespace-uri()='http1']/*[local-name()='providerRequest' and namespace-uri()='http1']/*[local-name()='Parameters' and namespace-uri()='http2'][1]/*[local-name()='Parameter' and namespace-uri()='http2']/*[local-name()='Name'])
这段代码在正常工作时
string(/Provide/providerRequest/Parameters[1]/Parameter/Name)
给我什么都没有?有没有办法不用创建这样的名称空间怪物语句?