首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

11.5  使用SimpleXML解析XML

Parsing XML with SimpleXML

如果你想处理非常简单的XML文档,你可以考虑使用PHP提供的第三个XML类库——SimpleXML。SimpleXML无法像DOM扩展那样生成XML文档,也不像Expat扩展那样灵活可扩展且高效,但是用它来解析和使用XML是非常容易的。

SimpleXML可以读一个XML文件,或字符串,或DOM文档(由DOM扩展生成),然后生成一个对象。该对象的属性提供每个节点的元素的访问途径。使用这些属性,你可以使用数字指数,或非数字指数来访问属性。最后,你可以对任何你从某一项中获取的文本值进行字符串转换。

例如,我们要显示BookList.xml文档中所有书籍的标题:

$document= simplexml_load_file('bookparse.xml');

foreach ($document->library->book as $book) {

  echo $book->title;

}

使用对象中的children()方法,你可以遍历某个给定节点的子节点;同样地,你可以用attributes()方法来遍历某个给定节点的属性:

$document= simplexml_load_file('bookparse.xml');

foreach ($document->library->children(  ) as $node) {

  foreach ($node->attributes(  ) as $attribute) {

    echo "$attribute\n";

  }

}

最后,使用asXML()方法,你可以得到XML格式的文档。这样你就可以改变原来的文档中的值,然后很方便地写回硬盘,保存为另一个XML文档。

$document= simplexml_load_file('bookparse.xml');

foreach ($document->library->book as $book) {

  $book->title = 'New Title';

}

file_put_contents('bookparse.xml', $document->asXML(  ));

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论