2012-10-30 20 views
7

के लिए Query_Match का उपयोग कैसे करें मुझे साबुन UI में MockOperation Editor का उपयोग करने में समस्या हो रही है।साबुन यूआई

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Body> 
    <methodName xmlns="http://tempuri.org/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
     <dataAreaId>error</dataAreaId> 
     <pInvoiceList> 
     <dataAreaId>NOTTHESAME</dataAreaId> 
     ... 
     </pInvoiceList> 
    </methodName> 
    </s:Body> 
</s:Envelope> 

मैं लगभग हर xpath एक्सप्रेशन की कोशिश की लेकिन मैं हमेशा "अनुरोध में मैच मिसिंग यू"

Xpath बॉक्स में क्या भरने के लिए:

मैं इस अनुरोध मिल गया है?

मैंने कोशिश की:

  • // dataAreaId/पाठ()
  • // dataAreaId/
  • // dataAreaId
  • /dataAreaId/पाठ()
  • /dataAreaId
  • /methodName/dataAreaId/text()
  • /methodName/dataAreaId/
  • /methodName/dataAreaId
+0

क्या आप नोड, उस नाम से सभी नोड्स, या सिर्फ नोड में टेक्स्ट चाहते हैं? साथ ही, '/' के साथ समाप्त होने वाला XPath मान्य नहीं है। – JWiley

+0

मुझे पहले एक – amaters

उत्तर

11

मैं अंत में इसे से user1740631

उत्तर के आधार पर करने के लिए प्रबंधित लगता है मैं इसे नामस्थान के साथ क्या करना afterall था।

सही सिंटैक्स:

+0

हाँ लिखने से पहले हमेशा नेमस्पेस को परिभाषित करना चाहिए, वह था। बहुत परेशान है कि उनकी वेबसाइट इस संकेत नहीं देती है। मेरे एक्सएमएल परिणाम में नेमस्पेस उपसर्ग शामिल नहीं थे, लेकिन यह अभी भी आवश्यक है कि मैंने ऊपर सुझाए गए वर्चुअल नेमस्पेस को बनाया है। – djangofan

4

लिखें इस

के लिए की तरह सबसे पहले एक

// methodName [1]/dataAreaId [1]

के लिए दूसरा एक

// विधिनाम [1]/pInvoiceList [1]/डेटाअरेआड [1]

* यदि आपके पास एकाधिक नोड है एक्सएमएल में नाम तो आपको उस विशेष नोड को ढूँढने के लिए संख्याओं का उपयोग करना चाहिए।

+0

का पाठ चाहिए। परिणाम के बिना अभी भी। क्या यह नामस्थान खोने की वजह से हो सकता है या क्या मैं यहां कुछ बेवकूफ सुझाव दे रहा हूं? – amaters

+1

आपको xpath ..... – pshekhar

0

वहाँ एक अच्छा संकेत है: जब (मॉक-विंडो में या शायद भी) एक testcase के लिए एक अभिकथन को परिभाषित करने के लिए एक बटन "घोषित" XPath-अभिव्यक्ति ऊपर है -खेत। यह वास्तव में एक बटन की तरह नहीं दिखता है, जब तक कि आप उस पर माउस-पॉइंटर के साथ इंगित न करें, इसलिए मुझे पहले इसका एहसास नहीं हुआ।

बस एक सोपूआई बटन पर क्लिक करें (वास्तव में मैं 5.2.1 का उपयोग करता हूं) आपके लिए घोषणा-बयान जोड़ देगा, जिसका आप उपयोग कर सकते हैं।

मुझे यह सुविधा संयोग से मिली, क्योंकि यह वास्तव में दिखाई नहीं दे रहा है। हो सकता है कि यह भी मदद कर सकते हैं ...

2

आप नामस्थान आप निम्न सिंटैक्स का उपयोग कर सकते हैं के बारे में परवाह नहीं करते हैं:

XPath1.0

//*[local-name() = 'methodName']/*[local-name() = 'dataAreaId'][1] 

XPath2।0

//*:methodName/*:dataAreaId[1] 
संबंधित मुद्दे