मैं एक XPath अभिव्यक्ति है कि निम्नलिखित करता है बनाने की जरूरत:XPath: 'नोड ए' के लिए चूक इसके बजाय 'नोड B' के बजाय अगर 'नोड B' खाली नहीं है
- के अंदर तत्व देता है ' डिफ़ॉल्ट रूप से NodeA '
- यदि यह खाली नहीं है तो' नोडबी 'के अंदर तत्व को वापस कर देता है।
<?xml version="1.0" encoding="UTF-8"?><?mso-infoPathSolution solutionVersion="1.0.0.10" productVersion="14.0.0" PIVersion="1.0.0.0" href="file:///C:\Documents%20and%20Settings\Chris\Local%20Settings\Application%20Data\Microsoft\InfoPath\Designer3\9016384cab6148f6\manifest.xsf" ?><?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.3"?> <my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-09-07T14:19:10" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-us"> <my:NodeASection> <my:NodeA>2012-09-13</my:NodeA> </my:NodeASection> <my:NodeBSection> <my:NodeBGroup> <my:NodeB>2012-09-14</my:NodeB> </my:NodeBGroup> </my:NodeBSection> </my:myFields>
यह XPath अभिव्यक्ति पाठ के अस्तित्व के लिए NodeB मूल्यांकन करने के लिए इस्तेमाल किया जा सकता:
यहां कुछ ऐसे नमूना एक्सएमएल ताकि मेरा लक्ष्य संरचना स्पष्ट रूप से देखा जा सकता है (मैं एमएस InfoPath उपयोग कर रहा हूँ) है: boolean(//my:NodeB[(text())])
मैंने "बेकर विधि" के बारे में सुना है लेकिन मुझे यकीन नहीं है कि दोनों नोड्स मौजूद होने पर यह कैसे लागू होता है। मैं बहुत XPath के लिए नया हूं और पेशकश की जा सकती किसी भी मदद की सराहना करता हूं।
आप बीओएमबी हैं! मैंने पूरे दिन कल भी उस प्रश्न को तैयार करने की कोशिश की। मैन मुझे इस सामान के लिए कक्षा लेने की जरूरत है ... मैंने इसे अपने थोड़ा और जटिल मुद्दे पर अनुकूलित किया है। एक बार फिर धन्यवाद! – Shrout1