की परवाह किए बिना मान लीजिए कि मैं इसएक स्ट्रिंग के लिए एक SimpleXML वस्तु जबरदस्ती, संदर्भ
<channel>
<item>
<title>This is title 1</title>
</item>
</channel>
नीचे कोड की तरह कुछ एक्सएमएल करते हैं कि मैं क्या चाहता हूँ कि यह एक स्ट्रिंग
$xml = simplexml_load_string($xmlstring);
echo $xml->channel->item->title;
के रूप में शीर्षक आउटपुट करता है
यहां मेरी समस्या है। नीचे दिया गया कोड उस संदर्भ में एक स्ट्रिंग के रूप में शीर्षक का इलाज नहीं करता है, इसलिए मैं एक स्ट्रिंग के बजाय सरणी में SimpleXML ऑब्जेक्ट के साथ समाप्त होता हूं।
$foo = array($xml->channel->item->title);
मैं इस
$foo = array(sprintf("%s",$xml->channel->item->title));
है जैसे कि यह चारों ओर काम कर रहा है लेकिन यह है कि बदसूरत लगता है।
संदर्भ के बावजूद एक SimpleXML ऑब्जेक्ट को स्ट्रिंग पर बल देने का सबसे अच्छा तरीका क्या है?
मैं PHP के लिए एक से अधिक अनुरोध सबमिट करने के बाद इस बात के लिए SOAP_SINGLE_ELEMENT_ARRAYS को कुछ इसी तरह लागू करने के लिए, और दूसरों को भी ऐसा ही करने के लिए प्रोत्साहित करेगा। SOAP_SINGLE_ELEMENT_ARRAYS उन तत्वों को मजबूर करता है जो एक से अधिक स्ट्रिंग को हमेशा स्ट्रिंग के रूप में पार्स किए जा सकते हैं। बेशक अन्य लोगों ने बताया कि आपको यह जानने की जरूरत है कि आप क्या प्राप्त कर रहे हैं, लेकिन समय और समय फिर से मैंने .NET SOAP सर्वर के साथ समस्याओं में भाग लिया है जो डब्लूएसडीएल के लिए (.NET के "जादू" डिफ़ॉल्ट द्वारा) प्रत्येक स्ट्रिंग को प्रोटोटाइप करता है मिश्रित या तारों की एक सरणी। वर्तमान() 'आईएनजी या टाइपकास्टिंग के बजाए, बिट सिर्फ एक स्ट्रिंग – conrad10781