欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【使用PHP DOM-XML创建和解析XML文件】,下面是详细的分享!
使用PHP DOM-XML创建和解析XML文件
使用PHP DOM-XML创建和解析XML文件
<?php
// 使用PHP DOM-XML创建和解析XML文件
//创建XML文档对象;以后的处理过程将在此基础上进行
$doc=new_xmldoc("1.0" );
//创建根节点,并设置一个属性
$root=$doc->add_root("faq" );
$root->setattr("page", "32" );
//子节点
$one=$root->new_child("question", "");
//为子节点设置属性
$one->setattr("number", "1");
//question也创建子节点,并且给它赋值
$one->new_child("text", "1. Where to get libxml-2.0.0?");
$one->new_child("answer", "You can download the latest
release of libxml either as a source archive or
RPM package from http://www.xmlsoft.org.
The current version is libxml2-2.2.1." );
$two=$root->new_child("question", "" );
$two->setattr("number", "2");
$two->new_child("text", "2. How to configure PHP4?" );
// 创建一个不直接赋值的节点
$twoone=$two->new_child("answer", "");
// 然后给它单独赋值
$twoone->set_content("DIR is the libxml install directory
(if you just use --with-dom it defaults
to /usr), I needed to use --with-dom=/usr/local" );
$three=$root->new_child("question", "" );
$three->setattr("number", "7" );
$three->new_child("text", "7. How to use DOM XML function ?" );
$three->new_child("answer", "Read this document source for
a simple example." );
//输出到Browser
print("<pre>".htmlspecialchars($doc->dumpmem() )."</pre>" );
// write to file
//写回到文件
$fp=fopen("test_dom.xml", "w+" );
fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() ));
fclose($fp);
// ------------------------------------------------------
//现在使用xpath从XML文档中得到内容
$doc=xmldoc(join("", file("test_dom.xml")) );
$ctx=xpath_new_context($doc );
//所有对象
$foo=xpath_eval($ctx, "//child::*");
print_r($foo);
print("<br/><br/>");
//text node 对象
$foo=xpath_eval($ctx, "//text");
print_r($foo);
print("<br/><br/>");
// 第一个text node对象
$foo=xpath_eval($ctx, "//text[1]");
print_r($foo);
print("<br/><br/>");
// 第二个text node对象
$foo=xpath_eval($ctx, "//text[2]");
print_r($foo);
print("<br/><br/>");
// 第三个answer对象
$foo=xpath_eval($ctx, "//answer[3]");
print_r($foo);
print("<br/><br/>");
//第三个text node的类型,名称和内容
$foo=xpath_eval($ctx, "//text[3]");
$tmp=$foo->nodeset;
print_r($tmp);
print("<br/>");
print($tmp[0]->type) . "; ";
print($tmp[0]->name) . "; ";
print($tmp[0]->content);
?>
需要说明,PHP DOM 只能在PHPPHP4.0.x + linux上运行
PHPDOM类库请到http://www.zend.com/download下载。
以上所分享的是关于使用PHP DOM-XML创建和解析XML文件,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何建立xml 文档
答:当处理基于XML应用程序时,开发者经常需要建立XML编码数据结构。例如,Web中基于用户输入的XML状态模板,服务器请求XML语句,以及基于运行时间参数的客户响应。 尽管XML数据结构的构建比较费时,但如果使用成熟的PHP DOM应用程序接口,一切都会... >>详细
相关问题:php创建解析xml文档时报错
答:应该是编码的问题哦,你$tempfile里面的内容不是utf-8编码的吧 >>详细
相关问题:php如何生成xml文件
答:createElement('newmodule');// root node $dom->appendChild($module); $year=$dom->createElement('year'); // add attribute node $name=$dom->createAttribute('name'); $name->nodeValue="最新动态"; $year->setAttributeNode($name); $mod... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
