📜  php 对象到 xml - PHP (1)

📅  最后修改于: 2023-12-03 15:03:41.958000             🧑  作者: Mango

PHP 对象到 XML - PHP

在 PHP 中,将一个对象转换到 XML 格式是一项有用的技能。借助 XML,我们可以将数据传输到其它系统或用于数据存储和技术处理等目的。

方法一:使用 SimpleXML

SimpleXML 是 PHP 内置的一个简化 XML 操作的扩展库,可以用它很方便地将一个 PHP 对象转换到 XML 格式。

<?php
// 创建一个对象
$obj = new stdClass();
$obj->name = "张三";
$obj->age = 22;
$obj->gender = "男";

// 将对象转换到 SimpleXMLElement 对象
$xml = new SimpleXMLElement("<person></person>");
foreach ($obj as $key => $value) {
    $xml->addChild($key, $value);
}

// 输出 XML 字符串
echo $xml->asXML();
?>

输出的 XML 字符串为:

<person>
    <name>张三</name>
    <age>22</age>
    <gender>男</gender>
</person>
方法二:使用 DOMDocument

如果你对 DOM 操作更为熟悉,可以使用 DOMDocument 将一个 PHP 对象转换到 XML 格式。

<?php
// 创建一个对象
$obj = new stdClass();
$obj->name = "李四";
$obj->age = 25;
$obj->gender = "女";

// 创建 DOMDocument 对象
$doc = new DOMDocument();

// 创建 XML 根元素
$root = $doc->createElement('person');
$doc->appendChild($root);

// 遍历对象属性并添加到 XML 根元素下面
foreach ($obj as $key => $value) {
    $element = $doc->createElement($key);
    $element->appendChild($doc->createTextNode($value));
    $root->appendChild($element);
}

// 输出 XML 字符串
echo $doc->saveXML();
?>

输出的 XML 字符串为:

<?xml version="1.0"?>
<person>
   <name>李四</name>
   <age>25</age>
   <gender>女</gender>
</person>
总结

以上是将 PHP 对象转换到 XML 格式的两种常见方法,你可以根据场景和自己的需求选择其中一种。

使用 SimpleXML 更为简单快捷,但如果你需要更精细地控制 XML 结构或需要对 XML 进行更复杂的操作,则建议使用 DOMDocument。