一 代码
<?php header('Content-Type:text/html;charset=utf-8'); //设置编码 /* 创建XML格式的字符串 */ $str = <<<XML <?xml version='1.0' encoding='gb2312'?> <object> <book> <computerbook>PHP从入门到精通</computerbook> </book> <book> <computerbook>PHP项目开发全程实录</computerbook> </book> </object> XML; /* ************************** */ $xml = simplexml_load_string($str); //创建一个simplexml对象 foreach($xml->children() as $layer_one){ //循环输出根节点 print_r($layer_one); //查看节点结构 echo '<br>'; foreach($layer_one->children() as $layer_two){ //循环输出第二层根节点 print_r($layer_two); //查看节点结构 echo '<br>'; } } ?>
二 运行结果
SimpleXMLElement Object ( [computerbook] => PHP从入门到精通 )
SimpleXMLElement Object ( [0] => PHP从入门到精通 )
SimpleXMLElement Object ( [computerbook] => PHP项目开发全程实录 )
SimpleXMLElement Object ( [0] => PHP项目开发全程实录 )
SimpleXMLElement Object ( [0] => PHP从入门到精通 )
SimpleXMLElement Object ( [computerbook] => PHP项目开发全程实录 )
SimpleXMLElement Object ( [0] => PHP项目开发全程实录 )
相关推荐
SimpleXMLElement对象可以像PHP数组一样遍历,其子元素是通过索引访问的: ```php foreach ($xmlObject as $element) { echo $element . "\n"; } ``` ### 4. 访问XML属性 XML元素的属性可以通过点号`.`或方括号`...
SimpleXML还支持遍历XML结构,可以使用foreach循环来处理所有子元素: ```php foreach ($xml->book as $book) { echo "书名: " . $book->title . "\n"; echo "作者: " . $book->author . "\n"; } ``` 此外,...
使用`children()`方法获取元素的所有子节点,如`foreach ($xml->msg->children() as $field) { echo $field.' '; }` 7. **添加新节点** 直接设置未存在的属性或元素,SimpleXML会自动创建它们。例如,添加作者...
示例代码中使用了两种遍历方式:一种是直接遍历foo元素,另一种是遍历其所有的子元素。两种方法都能得到相同的结果,验证了foo元素包含多个bar子元素的事实。 在使用simplexml_load_string函数时,开发者需要特别...
`SimpleXMLElement`对象还支持迭代,所以你可以遍历所有`book`元素: ```php foreach ($xml->book as $book) { echo "Title: " . $book->title . "\n"; echo "Author Gender: " . $book->author['gender'] . "\n...
可以使用递归或循环遍历 XML 文档的所有子元素: ```php foreach ($xml->book as $book) { echo $book['title'] . "\n"; } ``` ### 4. 创建 XML 除了读取 XML,SimpleXML 也可以用来构建新的 XML 结构: ```php...
在这个示例中,我们首先输出整个XML元素的名称(`$xml->getName()`),然后通过`foreach`循环遍历所有的子元素,并打印出它们的名称和对应的值。 ### 3. 结合其他方法使用 除了直接访问属性外,SimpleXMLElement...
// 遍历子元素 foreach ($root->childNodes as $childNode) { if ($childNode->nodeType === XML_ELEMENT_NODE) { // 检查是否为元素节点 echo $childNode->nodeName . ':' . $childNode->nodeValue . "\n"; // ...
因此,`$x->book[1]` 访问了第二个`book`元素,然后`->title`输出了该元素的`title`子元素的值,即`Title2`。 ### 为什么使用 `simplexml_import_dom()`? 1. **易用性**:SimpleXML提供了更直观的方式来访问和...
在上面的代码中,我们向`personinfo`元素添加了一个新的`item`元素,包含了`id`、`name`和`age`子元素。 最后,为了保存修改后的XML数据,我们可以使用`asXML`方法: ```php $rss->asXML('personinfo.xml'); ``` 这...
然后通过一个循环遍历所有的元素,打印每个元素下的和子元素,分别是例句和翻译。 在使用simplexml_load_file()函数时,如果提供的XML文件不存在或者文件格式有误,则函数会返回FALSE。因此,在实际使用中,应该...
在SimpleXML中,可以使用`addChild()`创建子元素,`attributes()`设置属性。 7. **错误处理** - 在处理XML时,记得捕获可能的错误,例如解析失败或文件不存在。可以使用`libxml_use_internal_errors(true)`关闭...
在这个例子中,我们创建了一个`SimpleXMLElement`对象,并添加了两个`item`元素,每个`item`包含`name`和`age`子元素。`addAttribute`方法用于添加属性,这里为第二个`item`元素添加了`id`属性。`asXml()`方法则用于...
这段代码展示了如何遍历XML中的子节点,并通过children()方法获取所有子节点。 通过这些操作,我们可以发现,尽管`print_r()`或`var_dump()`在输出时会显示SimpleXMLElement对象的属性和结构,但是有时它们的显示...
`xmlToArray()`函数遍历每个节点,如果子节点有子元素,则继续调用自身,形成递归。最终,`$arrayData`将包含解析好的XML结构。 接下来,我们将这个数组传递给ExtJS的tree组件。在ExtJS中,tree组件通常接收一个...
这段代码通过遍历子节点并使用getName()方法来获取节点名称,然后输出节点名称和节点内容。 总结来说,simplexml_load_file()函数是一个非常实用的函数,它可以让开发者轻松地处理XML文件数据。对于需要快速读取和...
删除元素则可以使用`unset()`函数,例如删除名为"item"的子元素: ```php unset($xml->item); ``` 修改元素的值同样简单,只需重新赋值即可: ```php $xml->item = '修改后的数据'; ``` 查询XML数据,我们可以...
`notes.php`可能是展示所有留言的页面,它会读取`notes.xml`文件,使用DOM或SimpleXML解析XML,然后遍历所有的`<note>`元素,将它们转换为HTML格式并显示在网页上。这个过程可能包括以下步骤: 1. 使用`file_get_...
SimpleXML库(如PHP中的SimpleXMLElement类)提供了一种简洁的方式来处理XML数据,无需深入了解DOM的复杂性。 描述 "a simple xml dom parser" 暗示这是一个简化版的DOM解析器,它可能具有以下特点: 1. 易于使用:...