📅  最后修改于: 2023-12-03 15:33:34.550000             🧑  作者: Mango
simplexml_load_string()
是 PHP 中的一个函数,它用于将 XML 字符串转换为 SimpleXMLElement 对象。这个函数返回一个 SimpleXMLElement 对象,该对象表示了 XML 字符串所代表的 XML 文档结构。
simplexml_load_string(string $data, string $class_name = "SimpleXMLElement", int $options = 0, string $ns = "", bool $is_prefix = false) : SimpleXMLElement | false
$data
:需要解析的 XML 字符串。$class_name
:可选参数,用于指定 SimpleXMLElement 对象的类名。$options
:可选参数,可以指定其他解析选项。目前支持以下选项:LIBXML_NOCDATA
:将 CDATA 解析为普通文本内容。LIBXML_NOBLANKS
:去除空白节点。LIBXML_COMPACT
:压缩 XML 内容,移除空白与注释。LIBXML_PARSEHUGE
:支持超大文档,不适用于 32 位操作系统。$ns
:可选参数,指定 XML 命名空间。$is_prefix
:可选参数,是否在元素名前添加 XML 命名空间前缀。如果解析成功,函数将返回一个 SimpleXMLElement 对象,否则返回 false。
$xml_string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="1">
<title>PHP in Action</title>
<author>Steven Holzner</author>
<publisher>Manning Publications</publisher>
</book>
<book id="2">
<title>Learning PHP 7</title>
<author>David Sklar</author>
<publisher>O'Reilly Media</publisher>
</book>
</books>
XML;
$xml_object = simplexml_load_string($xml_string);
// 打印 SimpleXMLElement 对象
print_r($xml_object);
// 遍历 SimpleXMLElement 对象
foreach ($xml_object as $book) {
echo $book->title . " - " . $book->author . " - " . $book->publisher . PHP_EOL;
}
输出结果:
SimpleXMLElement Object
(
[book] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 1
)
[title] => PHP in Action
[author] => Steven Holzner
[publisher] => Manning Publications
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 2
)
[title] => Learning PHP 7
[author] => David Sklar
[publisher] => O'Reilly Media
)
)
)
PHP in Action - Steven Holzner - Manning Publications
Learning PHP 7 - David Sklar - O'Reilly Media
$book["@attributes"]["id"]
。(string)$book->title
显式转换为字符串。$xml_object->book[0]->title
。