建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

用PHP读取和编写XML及DOM(4)

时间:2010-09-16 00:48来源: 作者: 点击:
用PHP编写XML 如果 DOM 不可用,可以用 PHP 的文本模板编写 XML。清单 7 显示了 PHP 如何构建图书 XML 文件。 清单7. 用PHP编写图书XML ? php $ books = array (); $books[]=array( 'title'= 'php100.com', 'author

用PHP编写XML

如果 DOM 不可用,可以用 PHP 的文本模板编写 XML。清单 7 显示了 PHP 如何构建图书 XML 文件。

清单7. 用PHP编写图书XML

  1. <?php 
  2. $books = array();  
  3. $books [] = array(  
  4. 'title' => 'php100.com',  
  5. 'author' => 'lphp100.com',  
  6. 'publisher' => "O'Reilly"  
  7. );  
  8. $books [] = array(  
  9. 'title' => 'Podcasting php100',  
  10. 'author' => 'memory',  
  11. 'publisher' => "O'Reilly"  
  12. );  
  13. ?> 
  14. <books> 
  15. <?php 
  16.  
  17. foreach( $books as $book )  
  18. {  
  19. ?> 
  20. <book> 
  21. <title><?php echo( $book['title'] ); ?></title> 
  22. <author><?php echo( $book['author'] ); ?> 
  23. </author> 
  24. <publisher><?php echo( $book['publisher'] ); ?> 
  25. </publisher> 
  26. </book> 
  27. <?php 
  28. }  
  29. ?> 
  30. </books> 

脚本的顶部与DOM脚本类似。脚本的底部打开books标记,然后在每个图书中迭代,创建book标记和所有的内部 title、author 和 publisher 标记。这种方法的问题是对实体进行编码。为了确保实体编码正确,必须在每个项目上调用htmlentities函数,如清单8所示。

清单8. 使用htmlentities函数对实体编码

  1. <books> 
  2. <?php 
  3.  
  4. foreach( $books as $book )  
  5. {  
  6. $title = htmlentities( $book['title'], ENT_QUOTES );  
  7. $author = htmlentities( $book['author'], ENT_QUOTES );  
  8. $publisher = htmlentities( $book['publisher'], ENT_QUOTES );  
  9. ?> 
  10. <book> 
  11. <title><?php echo( $title ); ?></title> 
  12. <author><?php echo( $author ); ?> </author> 
  13. <publisher><?php echo( $publisher ); ?> 
  14. </publisher> 
  15. </book> 
  16. <?php 
  17. }  
  18. ?> 
  19. </books> 

这就是用基本的 PHP 编写 XML 的烦人之处。您以为自己创建了完美的 XML,但是在试图使用数据的时候,马上就会发现某些元素的编码不正确。

结束语

XML 周围总有许多夸大之处和混淆之处。但是,并不像您想像的那么难 —— 特别是在 PHP 这样优秀的语言中。在理解并正确地实现了 XML 之后,就会发现有许多强大的工具可以使用。XPath 和 XSLT 就是这样两个值得研究的工具。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片