2012-03-03 20 views
9

पर जेएसओएन या ऐरे ऑब्जेक्ट को जेएसओएन या ऐरे ऑब्जेक्ट लेने और इसे एक्सएमएल में बदलने का सबसे आसान तरीका क्या है। हो सकता है कि मैं सभी गलत जगहों पर देख रहा हूं लेकिन मुझे ऐसा करने के लिए ट्रैक पर लाने का एक अच्छा जवाब नहीं मिल रहा है। क्या यह कुछ मुझे खुद को बनाने के लिए होगा? या क्या json_encode/json_decode जैसा कुछ है जो एक सरणी या जेसन ऑब्जेक्ट लेगा और ust इसे xml ऑब्जेक्ट के रूप में पॉप आउट करेगा?एक्सएमएल

+0

http://stackoverflow.com/questions/1397036/how-to-convert-array-to-simplexml – linuxeasy

+0

आप कैसे एक एक्सएमएल में एक JSON/सरणी में परिवर्तित करना चाहते हैं? क्या आप एक उदाहरण दे सकते हैं? – Gumbo

उत्तर

9

यह यहाँ देखें: How to convert array to SimpleXML

और this प्रलेखन आप भी मदद करनी चाहिए

सरणी के लिए Json के बारे में, आप json_decode का उपयोग भी ऐसा ही करने कर सकते हैं!

4

मुझे सबसे आसान तरीका के बारे में निश्चित नहीं है। दोनों अपेक्षाकृत सरल हैं क्योंकि मैं इसे देखता हूं।

यहां एक विषय है array to xml - How to convert array to SimpleXML और json to xml को कवर करने वाले कई पेज Google पर पाए जा सकते हैं, इसलिए मुझे लगता है कि यह स्वाद का विषय है।

6

यहां एक्सएमएल रूपांतरण के लिए जेएसओएन का मेरा संस्करण है। मैं json_decode का उपयोग कर JSON से एक सरणी मिल() फ़ंक्शन:

$array = json_decode ($someJsonString, true); 

तब मैं अपने arrayToXml साथ एक्सएमएल के लिए सरणी परिवर्तित() फ़ंक्शन:

$xml = new SimpleXMLElement('<root/>'); 
$this->arrayToXml($array, $xml); 

यहाँ मेरी arrayToXml() फ़ंक्शन है:

/** 
* Convert an array to XML 
* @param array $array 
* @param SimpleXMLElement $xml 
*/ 
function arrayToXml($array, &$xml){ 
    foreach ($array as $key => $value) { 
     if(is_array($value)){ 
      if(is_int($key)){ 
       $key = "e"; 
      } 
      $label = $xml->addChild($key); 
      $this->arrayToXml($value, $label); 
     } 
     else { 
      $xml->addChild($key, $value); 
     } 
    } 
}