2011-08-11 17 views
16

वर्तमान नोड के पैरेंट नोड का नाम प्राप्त करने के लिए सही वाक्यविन्यास क्या है? मुझे पता है कि यह एक्सिसनाम माता-पिता के बारे में है लेकिन सही वाक्यविन्यास क्या है? निम्नलिखित एक्सएमएलवर्तमान नोड के पैरेंट नोड नाम कैसे प्राप्त करें?

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="file:/dev/null" iosp="lasp.tss.iosp.ValueGeneratorIOSP" start="0" increment="1"> 
    <attribute name="title" value="Vector time series"/> 
    <dimension name="time" length="100"/> 
    <variable name="time" shape="time" type="double"> 
     <attribute name="units" type="String" value="seconds since 1970-01-01T00:00"/> 
    </variable> 
    <group name="Vector" tsdsType="Structure" shape="time"> 
     <variable name="x" shape="time" type="double"/> 
     <variable name="y" shape="time" type="double"/> 
     <variable name="z" shape="time" type="double"/> 
    </group> 
</netcdf> 

तत्व चर रहा netcdf या समूह मिलना चाहिए के लिए उदाहरण के लिए । अग्रिम में धन्यवाद।

+1

अच्छा सवाल, +1। सबसे कम संभव XPath अभिव्यक्ति के लिए मेरा उत्तर देखें जो वर्तमान नोड के पैरेंट के नाम पर मूल्यांकन करता है। इसके अलावा एक स्पष्टीकरण क्यों एक माता-पिता का नाम नहीं हो सकता है। आखिरकार, यह वास्तव में एक XPath सवाल है और इतना एक्सएसएलटी नहीं है। –

उत्तर

8

name(parent::*) इसे करना चाहिए। जाहिर है, केवल एक माता पिता होने जा रहा है।

29

उपयोग:

name(..) 

.. संक्षिप्त नाम parent::node() के लिए एक आशुलिपि है।

नोट: प्रत्येक माता-पिता का नाम नहीं है। उदाहरण के लिए दस्तावेज़ नोड (/) दस्तावेज़ के शीर्ष तत्व (/*) का अभिभावक है और इसका कोई नाम नहीं है।

+0

मेरे केस ड्राइव आउट आउट मेमोरी त्रुटि में रीट्राइव पैरेंट नाम के लिए इसका उपयोग करके, नाम (पैरेंट :: *) –

+0

@ करलोसकॉम का उपयोग करें, यह केवल दिखाता है कि आप जिस विशेष XPath कार्यान्वयन का उपयोग कर रहे हैं वह छोटी है। यह दिलचस्प होगा अगर आप एक एक्सएमएल दस्तावेज़ (अधिमानतः बहुत छोटा) और सटीक XPath अभिव्यक्ति प्रदान कर सकते हैं। –

संबंधित मुद्दे