ホームページ  >  記事  >  バックエンド開発  >  SimpleXMLElement オブジェクトを PHP 配列に変換する_PHP チュートリアル

SimpleXMLElement オブジェクトを PHP 配列に変換する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:58:50837ブラウズ

PHP は、XML 形式の文字列を解析して SimpleXMLElement オブジェクトを返す simplexml_load_string メソッドを提供します。ただし、一般的な配列の方が適しているため、このメソッドは完全にテストされており、SimpleXMLElement オブジェクトのマルチレベルのネストをサポートしています。

2 つのパラメーターを指定します。最初のパラメーターは SimpleXMLElement オブジェクト、2 番目のパラメーターはブール値で、最終的な戻り値にルート ノードが含まれるかどうかを制御します。

function xmlToArr ($xml, $root = true) {

if (!$xml->children()) {
return (string) $xml
}
$array = array(); $xml->children() as $element => $node) {
$totalElement = count($xml->{$element});
if (!isset($array[$element]);
$array[$element] = "";
}
// 属性があります
if ($attributes = $node->attributes()) {
$data = array(
'attributes' => array() ,
'value' => (count($node) > 0) ? $this->__xmlToArr($node, false) : (string) $node
foreach ($attr =>); ; $value) {
$data['attributes'][$attr] = (文字列) $value;
if ($totalElement > 1) {
$array[$element][] = $data; } else {
$array[$element] = $data;
}
// 単なる値
} else {
if ($totalElement > 1) {
$array[$element][] = $this-> ;__xmlToArr($node, false);
} else {
$array[$element] = $this->__xmlToArr($node, false);
}
}
}
if ($root) {
return 配列($xml->getName() => $array); else {
return $array
}

}

出典: マンゴーステーション


http://www.bkjia.com/PHPjc/363778.html

www.bkjia.com

本当http://www.bkjia.com/PHPjc/363778.html技術記事 PHP には、XML 形式の文字列を解析して SimpleXMLElement オブジェクトを返す simplexml_load_string メソッドが用意されています。ただし、一般的な配列の方が適用性が高いため、通常の配列への変換も行われます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。