当前位置: 首页 > 图文教程 > 网络编程 > PHP > 在PHP5中使用DOM控制XML(2)

PHP
PhpMyAdmin中无法导入sql文件的解决办法
PHP5.3.1 不再支持ISAPI
基于Windows下Apache PHP5.3.1安装教程
PHP 编程安全性小结
php正则判断中文字符
获取远程文件大小的php函数
PHP has encountered an Access Violation 错误的解决方法
PHP教程:COOKIE与SESSION联合实现跨域
PHP代码实例:图片转成HTML
PHP教程:PHP不能读取MS SQL数据表
Web开发帮助:学习http headers的方方面
cURL库的强大功能和灵活的扩展性
PHP教程:PHP的目录操作和文件操作
Fedora 12服务器上安装Apache2+PHP+MySQL
PHP开发网站常用的21种功能的代码汇总
php的curl获取有301/302跳转文件出错问题解决
难道研究PHP的人都是傻瓜吗?
WEB开发非常有用的9个PHP类库
PHP代码实例:常用的PHP分页类
PHP教程:foreach使用引用注意的问题

在PHP5中使用DOM控制XML(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 35 ::
收藏到网摘: n/a

//向DOM中写入新数据
  $item = $dom->createElement("item");
  $title = $dom->createElement("title");
  $titleText = $dom->createTextNode("title text");
  $title->appendChild($titleText);
  $item->appendChild($title);
  $dom->documentElement->getElementsByTagName('channel')->item(0)->appendChild($item);
  
  //从DOM中删除节点
  //$dom->documentElement->RemoveChild($dom->documentElement->getElementsByTagName("channel")->item(0));
  //或者使用xpath查询出节点再删除
  //$dom->documentElement->RemoveChild($xpath->query("/rss/channel")->item(0));
  //$dom->save("newfile.xml");
  
  //从DOM中修改节点数据
  //修改第一个title的文件
  //这个地方比较笨,新创建一个节点,然后替换旧的节点。如果哪位朋友有其他好的方法请一定要告诉我
  $firstTitle = $xpath->query("/rss/channel/item/title")->item(0);
  $newTitle = $dom->createElement("title");
  $newTitle->appendChild(new DOMText("This's the new title text!!!"));
  $firstTitle->parentNode->replaceChild($newTitle, $firstTitle);
  //修改属性
  //$firstTitle = $xpath->query("/rss/channel/item/title")->item(0);
  //$firstTitle->setAttribute("orderby", "4");
  $dom->save("newfile.xml");
  
  echo "<hr/><a href=\"newfile.xml\">查看newfile.xml</a>";
  
  //下面的代码获得并解析php.net的首页,将返第一个title元素的内容。
  /*
  $dom->loadHTMLFile("http://www.php.net/");
  $title = $dom->getElementsByTagName("title");
  print $title->item(0)->textContent;
  */
  ?>
  
  下面是test.xml文件代码:
  
  <?xml version="1.0" encoding="gb2312"?>
  <rss version="2.0">
  <channel>
  <title>javascript</title>
  <link>http://blog.csdn.net/zhongmao/category/29515.aspx</link>
  <description>javascript</description>
  <language>zh-chs</language>
  <generator>.text version 0.958.2004.2001</generator>
  <item>
  <creator>zhongmao</creator>
  <title orderby="1">out put excel used javascript</title>
  <link>http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx</link>
  <pubdate>wed, 15 sep 2004 13:32:00 gmt</pubdate>
  <guid>http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx</guid>
  <comment>http://blog.csdn.net/zhongmao/comments/105385.aspx</comment>
  <comments>http://blog.csdn.net/zhongmao/archive/2004/09/15/105385.aspx#feedback</comments>
  <comments>2</comments>
  <commentrss>http://blog.csdn.net/zhongmao/comments/commentrss/105385.aspx</commentrss>
  <ping>http://blog.csdn.net/zhongmao/services/trackbacks/105385.aspx</ping>
  <description>test description</description>
  </item>
  <item>
  <creator>zhongmao</creator>