Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में DOM एलिमेंट्स के माध्यम से कैसे पुनरावृति करें?


निम्नलिखित XML डेटा (इनपुट) है:

<other data> 
    <foo> <bar></bar> 
        <value/> 
        <pub></pub> 
    </foo> 
    <foo> 
        <bar></bar> <pub></pub> 
    </foo> 
    <foo> 
        <bar></bar> <pub></pub> 
    </foo> 
</other data>

DOM ऑब्जेक्ट में एलिमेंट्स के माध्यम से पुनरावृति करना।

उदाहरण

$elements = $dom->getElementsByTagName('foo'); 
$data = array(); 
foreach ($elements as $node) { 
    foreach ($node->childNodes as $child) { 
        $data[] = array($child->nodeName => $child->nodeValue); 
    } 
}

आउटपुट

यह निम्न आउटपुट देगा:

हर 'foo' टैग पर पुनरावृति होगी और विशिष्ट 'bar' और 'pub' मान प्राप्त होंगे, यानी विशिष्ट चाइल्ड नोड्स को उनके नाम से ही एक्सेस किया जा सकता है।

XML फ़ाइल में एलिमेंट्स को XML फ़ाइल में सभी नोड्स पर foreach लूप चलाकर प्राप्त किया जाता है। foreach लूप के अंदर, मुख्य नोड के चाइल्ड नोड को संदर्भित किया जाता है, और चाइल्ड नोड के चाइल्ड मान को एक्सेस किया जा सकता है।


  1. - JavaScript से DOM एलिमेंट्स कैसे हटाएं

    JavaScript के साथ DOM से एलिमेंट्स को तुरंत हटाने या छिपाने के दो अलग-अलग तरीकों के बारे में जानें। JavaScript के साथ DOM से एलिमेंट्स को हटाने/छिपाने के दो तरीके हैं। अपने आप से पूछें “क्या मुझे किसी बिंदु पर इस एलिमेंट को वापस लाने की आवश्यकता होगी?”। यदि उत्तर हां है, तो आपको स्टाइल प्रॉपर्टी के

  1. जावास्क्रिप्ट: पेज पर सभी DOM एलिमेंट्स के माध्यम से लूप करना और परिणाम कंसोल पर प्रदर्शित करना जावास्क्रिप्ट: पेज पर सभी DOM एलिमेंट्स के माध्यम से लूप करना और परिणाम कंसोल पर प्रदर्शित करना

    पेज पर सभी DOM एलिमेंट्स के माध्यम से लूप करने के लिए, document.getElementsByTagName(*) का उपयोग करें। इसकी लंबाई के माध्यम से लूप करें और परिणाम को कंसोल में प्रदर्शित करें जैसा कि नीचे दिए गए कोड में है -var tags = document.getElementsByTagName(*); for (var i=0, max=tags.length; i < max; i++) {

  1. JavaScript में getElementsByClassName() से सही तरीके से कैसे इटरेट करें? JavaScript में getElementsByClassName() से सही तरीके से कैसे इटरेट करें?

    getElementsByClassName() एक लाइव HTMLCollection लौटाता है, ऐरे नहीं। इसे सही से इटरेट करने के लिए for लूप, Array.from(), या स्प्रेड ऑपरेटर उपयोग करें। समस्या: लाइव कलेक्शन const items = document.getElementsByClassName(demo); // ❌ गलत: लूप के दौरान लंबाई बदलती है यदि DOM मॉडिफाई होता है // ❌ forEac