在PHP中,要遍历SimpleXML元素的子元素,可以使用children()
方法。以下是一个示例:
<?php
// 创建一个简单的XML字符串
$xml = <<<XML
<books>
<book id="1">
<title>Book 1</title>
<author>Author 1</author>
</book>
<book id="2">
<title>Book 2</title>
<author>Author 2</author>
</book>
<book id="3">
<title>Book 3</title>
<author>Author 3</author>
</book>
</books>
XML;
// 将XML字符串转换为SimpleXMLElement对象
$books = simplexml_load_string($xml);
// 遍历子元素(在这里是book元素)
foreach ($books->children() as $book) {
// 获取子元素的属性值
$id = (string)$book->attributes()->id;
// 获取子元素的文本内容
$title = (string)$book->title;
$author = (string)$book->author;
// 输出结果
echo "ID: {$id}\n";
echo "Title: {$title}\n";
echo "Author: {$author}\n\n";
}
?>
在这个示例中,我们首先创建了一个包含3个<book>
元素的XML字符串。然后,我们使用simplexml_load_string()
函数将XML字符串转换为SimpleXMLElement对象。接下来,我们使用foreach
循环遍历$books
对象的子元素(即<book>
元素),并使用children()
方法获取这些子元素。在循环内部,我们可以使用attributes()
和title
、author
属性来获取子元素的属性和文本内容。最后,我们将结果输出到屏幕上。