php xpath - get node position -


मेरे पास निम्न स्ट्रिप किया गया php कोड है ...

  foreach ($ xpath- & Gt; क्वेरी ('/ html / body / a')} $ $ के रूप में) {$ nodeposition = ???}; $ पैरेंटपेज़ेशन = ???; }  

... से क्या यह प्रत्येक नोड की स्थिति और उसके माता-पिता की स्थिति को खोजना संभव है?

उदाहरण के लिए:

0 .. & lt; html & gt;
1 .... & lt; प्रधान & gt;
2 ...... & lt; title & gt;
3 ...... & lt; मेटा & gt;
4 ..... & lt; मेटा & gt;
5 .... & lt; body & gt;
6 ...... & lt; div & gt; < / Code>
7 ........ & lt; a & gt;

यह प्रत्येक टैग और माता पिता की पहचान के लिए आईडी का एक प्रकार का उत्पादन करेगा टैग जो इसे करने के लिए मिलती है।

तो परिणाम होगा = 0 |, 1 | 0,2 | 1,3 | 1,4 | 1,5 | 0,6 | 5,7 | 6 < "स्थिति" से यदि आप पूर्ववर्ती नोड्स की गिनती का मतलब है (जैसा कि आप अपने नमूने में दर्शाते हैं) , तो यह काम करेगा (शायद शीर्ष पायदान दक्षता में नहीं, लेकिन फिर भी):

  foreach ($ xpath- & gt; क्वेरी ('/ html / body / a') $ queryitem के रूप में ) {$ Nodeposition = count ($ xpath- & gt; क्वेरी ('पूर्ववर्ती :: *', $ queryitem)); $ Parent = $ xpath- & gt; क्वेरी ('पेरेंट :: *', $ queryitem); यदि ($ parent- & gt; लम्बाई == 1) $ पैरेंटपेपशन = गिनती ($ xpath- & gt; क्वेरी ('पूर्ववर्ती :: *', $ parent- & gt; आइटम (0))); और $ पैरेंटपेपशन = -1; // या जो भी हो)  

परीक्षण नहीं किया गया है, लेकिन आपको यह विचार मिलता है।

एक विकल्प XSLT पहचान परिणत करने के लिए होगा जो सभी नोड्स को स्थिति जोड़ता है एक विशेषता के रूप में दस्तावेज़ में फिर आप PHP कोड में विशेषता पढ़ सकते हैं।


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -