2017-05-18 21 views
0

我有一個看起來像一個XML文檔:錯誤XPathExpression

<ns0:SIM_StdNeunNulldelticket xmlns:ns0="http://DoX.BAI.BT.Schemas/001"> 
    <ns0:SIM_StdNeunNulldelticket PacketIds="b1cd4e60-0526-4d88-85a3-baabadc4b30f" RecIds="ae319e04-b5ce-4d67-8506-bfb09d9643f1" RecVersion="94c990aa-e98e-4f5c-8e21-9111ad4de227" SendingUserName="LAB" ExportId="23881aa6-3ba6-11e7-8d4d-901b0e8bf24b"> 
    <ns0:Cmsnet version="9.0"> 
     <ns0:delticket prim_client="1" prim_firmno="1" prim_plantno="3" prim_proddate="2017-05-18T00:00:00" prim_dtno="361487"> 
     <ns0:client>1</ns0:client> 
     <ns0:firmno>1</ns0:firmno> 
     <ns0:plantno>3</ns0:plantno> 
     <ns0:proddate>2017-05-18T00:00:00</ns0:proddate> 
     <ns0:dtno>361487</ns0:dtno> 
     <ns0:mutation>mtProdStart</ns0:mutation> 
     <ns0:batchid>4308</ns0:batchid> 
     </ns0:delticket> 
    </ns0:Cmsnet> 
    </ns0:SIM_StdNeunNulldelticket> 
    <ns0:SIM_StdNeunNulldelticket PacketIds="b1cd4e60-0526-4d88-85a3-baabadc4b30f" RecIds="1f12eabb-d2c2-4f15-948a-abed3eca5f3a" RecVersion="dfb8882a-606f-44e2-8c76-5d68274a8ce9" SendingUserName="LAB" ExportId="23881aa7-3ba6-11e7-8d4d-901b0e8bf24b"> 
    <ns0:Cmsnet version="9.0"> 
     <ns0:delticket prim_client="1" prim_firmno="1" prim_plantno="6" prim_proddate="2017-05-18T00:00:00" prim_dtno="693311"> 
     <ns0:client>1</ns0:client> 
     <ns0:firmno>1</ns0:firmno> 
     <ns0:plantno>6</ns0:plantno> 
     <ns0:proddate>2017-05-18T00:00:00</ns0:proddate> 
     <ns0:dtno>693311</ns0:dtno> 
     <ns0:mutation>mtProdEnd</ns0:mutation> 
     <ns0:batchid>4306</ns0:batchid> 
     </ns0:delticket> 
    </ns0:Cmsnet> 
    </ns0:SIM_StdNeunNulldelticket> 
</ns0:SIM_StdNeunNulldelticket> 

我XPathexpression是

/*[//*[local-name() = 'delticket'] and //*[@prim_plantno='3']] 

所以我想什麼是隻有...其中plantno = 3

<ns0:SIM_StdNeunNulldelticket xmlns:ns0="http://DoX.BAI.BT.Schemas/001"> 
    <ns0:SIM_StdNeunNulldelticket PacketIds="b1cd4e60-0526-4d88-85a3-baabadc4b30f" RecIds="ae319e04-b5ce-4d67-8506-bfb09d9643f1" RecVersion="94c990aa-e98e-4f5c-8e21-9111ad4de227" SendingUserName="LAB" ExportId="23881aa6-3ba6-11e7-8d4d-901b0e8bf24b"> 
     <ns0:Cmsnet version="9.0"> 
      <ns0:delticket prim_client="1" prim_firmno="1" prim_plantno="3" prim_proddate="2017-05-18T00:00:00" prim_dtno="361487"> 
       <ns0:client>1</ns0:client> 
       <ns0:firmno>1</ns0:firmno> 
       <ns0:plantno>3</ns0:plantno> 
       <ns0:proddate>2017-05-18T00:00:00</ns0:proddate> 
       <ns0:dtno>361487</ns0:dtno> 
       <ns0:mutation>mtProdStart</ns0:mutation> 
       <ns0:batchid>4308</ns0:batchid> 
      </ns0:delticket> 
     </ns0:Cmsnet> 
    </ns0:SIM_StdNeunNulldelticket> 
</ns0:SIM_StdNeunNulldelticket> 

但我總是得到(植物6和3)。我的問題是,我不知道如何編寫XPathExpression。

我很感謝您的回覆!

回答

0

嘗試

//*[local-name() = 'delticket' and @prim_plantno='3'] 

只得到delticket與屬性節點prim_plantno='3'

//*[./*/*[local-name() = 'delticket' and @prim_plantno='3']] 

包括祖先輸出

+0

好吧,我才意識到我was'n在我的問題中不太清楚:我需要 ...其中plantno = 3.當我使用你的建議時,我得到但我還需要 KatharinaG

+0

try'// * [。/*/* [local-name()='delticket'和@ prim_plantno ='3']]' – Andersson

+0

過濾器的工作原理與我想要的完全一樣,謝謝! – KatharinaG

相關問題