26 EYLÜL 2008, Cuma
PHP XML Belge Nesnesi
Belirli bir PHP nesne alıp XML olarak seri hale getirmek için en iyi yolu nedir? Simple_xml bakıyorum ve nesneleri XML ayrıştırma için kullandım, ama diğer türlü nasıl benim için açık değil.
CEVAP
3 ŞUBAT 2010, ÇARŞAMBA
ARMUT XML_Serializer ama eğer özellikleri iç içe diziler/nesneleri destekleyen basit bir şey istiyorsanız, bunu kullanabilirsiniz kullanarak kabul ediyorum.
class XMLSerializer {
// functions adopted from http://www.sean-barton.co.uk/2009/03/turning-an-array-or-object-into-xml-using-php/
public static function generateValidXmlFromObj(stdClass $obj, $node_block='nodes', $node_name='node') {
$arr = get_object_vars($obj);
return self::generateValidXmlFromArray($arr, $node_block, $node_name);
}
public static function generateValidXmlFromArray($array, $node_block='nodes', $node_name='node') {
$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
$xml .= '<' . $node_block . '>';
$xml .= self::generateXmlFromArray($array, $node_name);
$xml .= '</' . $node_block . '>';
return $xml;
}
private static function generateXmlFromArray($array, $node_name) {
$xml = '';
if (is_array($array) || is_object($array)) {
foreach ($array as $key=>$value) {
if (is_numeric($key)) {
$key = $node_name;
}
$xml .= '<' . $key . '>' . self::generateXmlFromArray($value, $node_name) . '</' . $key . '>';
}
} else {
$xml = htmlspecialchars($array, ENT_QUOTES);
}
return $xml;
}
}
Bunu Paylaş:
PHP XML Belge Nesnesi...
Nasıl düzgün S4 sınıfı yuvaları Roxyge...
Alakası yıldız geliştiriciler ne kim&#...
java: en kısa yol için epey bir baskı ...
Nasıl bir zaman aşımı değiştirmek için...