<Success />
तत्व जिसका अर्थ यह कोई मूल्य नहीं है एक empty element है। यह दोनों, प्रारंभ और अंत टैग है।
आप कर सकते हैं test for existence of nodes with the XPath function boolean()
इस प्रकार बूलियन समारोह एक बूलियन करने के लिए अपने तर्क धर्मान्तरित:
- एक नंबर से सच है अगर और सिर्फ़ अगर यह न तो सकारात्मक या नकारात्मक है शून्य है और न ही NaN
- एक नोड-सेट सत्य है यदि केवल और यदि यह खाली नहीं है
- एक स्ट्रिंग सत्य है और केवल तभी इसकी लंबाई गैर-शून्य
है
- एक प्रकार चार बुनियादी प्रकार के अलावा अन्य की एक वस्तु एक तरीका है कि उस प्रकार पर निर्भर करता है में एक बूलियन में बदल जाती है
कि DOMXPath
साथ आप DOMXPath::evaluate()
विधि क्योंकि उपयोग करने की आवश्यकता करने के लिए यह एक टाइप किया परिणाम वापस आ जाएगी इस मामले में, एक boolean
:
$xml = <<< XML
<OTA_PingRS>
<Success />
<EchoData>This is some test data</EchoData>
</OTA_PingRS>
XML;
$dom = new DOMDocument;
$dom->loadXml($xml);
$xpath = new DOMXPath($dom);
$successNodeExists = $xpath->evaluate('boolean(/OTA_PingRS/Success)');
var_dump($successNodeExists); // true
demo
बेशक
, आप भी सिर्फ /OTA_PingRS/Success
के लिए क्वेरी और वहाँ वापस आ DOMNodeList
में परिणाम हैं कि क्या देख सकते हैं:
$xml = <<< XML
<OTA_PingRS>
<Success />
<EchoData>This is some test data</EchoData>
</OTA_PingRS>
XML;
$dom = new DOMDocument;
$dom->loadXml($xml);
$xpath = new DOMXPath($dom);
$successNodeList = $xpath->evaluate('/OTA_PingRS/Success');
var_dump($successNodeList->length);
demo
तुम भी SimpleXML उपयोग कर सकते हैं:
$xml = <<< XML
<OTA_PingRS>
<Success />
<EchoData>This is some test data</EchoData>
</OTA_PingRS>
XML;
$nodeCount = count(simplexml_load_string($xml)->xpath('/OTA_PingRS/Success'));
var_dump($nodeCount); // 1
सामान्य तरीका, आपने क्या प्रयास किया? – Musa