用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4476|回复: 4
收起左侧

请教CI输出xml元素值问题

[复制链接]
发表于 2009-10-25 00:55:21 | 显示全部楼层 |阅读模式
本帖最后由 leigod 于 2009-10-25 00:56 编辑

请各位帮忙看看以下代码,为什么无法显示内容。
我的意图就是加载xml文档,读取其中的数据重新格式化后输出成html

xml文档代码bookstore.xml
<?xml version="1.0" encoding="utf-8"?>

<bookstore>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

</bookstore>


控制器代码
function test()
{

  $url='bookstore.xml';
   
  $htmlStr="<ul>";
  $xmlDoc = new DOMDocument();
  $xmlDoc->load($url);
  $x = $xmlDoc->getElementsByTagName("book");

  foreach ($x as $bookitem)
  {
   $htmlStr=$htmlStr . "<li><a href=" . "'" . $bookitem->childNodes[1]->nodeValue . "'>" . $bookitem->childNodes[0]->nodeValue . "</a></li>";
  }

  $htmlStr=$htmlStr . "</ul>";

  $data=array(
  'title'=>'test title',
  'book' => $htmlStr
  );
  
  $this->load->view('test',$data);
}


最后浏览器里什么信息也没有输出,查看源代码输出的信息为
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>


这段代码给我的感觉就是控制器根本就没有加载视图,没有输出任何内容
请各位了解xml的同学能告知原因
发表于 2009-10-25 10:03:18 | 显示全部楼层
<?xml version="1.0" encoding="utf-8"?>
这个要转义,因为 <? 是 PHP 代码的开始
 楼主| 发表于 2009-10-25 22:48:04 | 显示全部楼层
跟这个没关系吧

我是对一个 xmldoc对象操作
发表于 2011-8-25 13:22:49 | 显示全部楼层
怎么转义呀?我不会呀!!!{:soso_e115:}
发表于 2011-8-26 14:32:47 | 显示全部楼层
用simplexml_load_file。别用dom,否则代码量一大堆。

本版积分规则