xml大多用来存储数据,本文主要和大家分析php中xml操作实例方法,希望能帮助到大家。
正文入门案例<?xml version="1.0" encoding="utf-8" ?><stu><name>draymonder</name></stu>
处理特殊字符<imgs><![cdata[$<$$#@>]]></imgs>cdata的基本语法<![cdata[内容]]>面试题: 如何使用xml文件来传递,保存一个图片
答: 使用程序先读入到内存
然后保存到xml的<![cdata[文件内容]]>中
xml的pi处理指令通过pi指令来引入css样式文件:
pi指令的弊端:
只对英文的标签起作用,对中文的标签不起作用。
//和html引用css大同小异<?xml-stylesheet type="text/css" href="txt.css"?> //txt.css内容
name{
background-color:red;
}
age{
background-color:green;
}
dtd (document type definition为了约束xml文件,使xml语义合法
dtd详解
基本语法
<!element 元素名 类型> //元素约束<!attlist 元素名> //属性约束<!entity 元素名 "引用内容"> //用元素名来表示引用的内容
phpdom快速入门$xmldoc = new domdocument();$xmldoc->load("test.xml");//读文件的时候用load方法//读字符串的时候用 loadxml方法 //eg: $xmldoc->loadxml('<root><node/></root>');//找到root节点$nodelists=$xmldoc->getelementsbytagname("stu"); //返回的是结果集合 $nodelist = $nodelists->item(0);
//上面直接就已经找到root节点了//新增name节点$node_name = $xmldoc->createelement("name");$node_name->nodevalue = "我喜欢你";//新增age节点$node_age = $xmldoc->createelement("age");$node_age->nodevalue = "20";//root节点下挂载 name节点和age节点$root->appendchild($node_name);
$root->appendchild($node_age);//内存中修改完毕以后 还要保存文件内容$xmldoc->save("test.xml");//删除操作$test->parentnode->removechild($test);//更新操作找到那个需要修改的节点 直接改 nodevalue属性就可以//设置属性setattribute (string $name ,string $value)
添加属性为$name 属性值$value的属性
xpathphp dom技术可以跨层取出,但是不能保持层次关系,使用xpath可以解决
这种技术相当于是知道节点所在的层级,然后通过层级关系来找相应的节点$xmldoc = new domdocument();$xmldoc->load("test.xml");$xpath = new domxpath($xmldoc);$node_list = $xpath->query("/stu");
echo $node_list->length;
simplexml以面向对象方式来操作xml文件
//装载文件$stu = simplexml_load_file("test.xml");$name = $stu->name;
var_dump($name);foreach ($name as $value) { echo "$value <br>";
}//还有装载方式从dom对象simplexml_import_dom//装载字符串simplexml_load_string
超链接统一打开问题<head>
<base target="_blank"></head>
相关推荐:
详细介绍xml操作总结的示例代码
php的xml操作(读取)封装类实例
php实现的xml操作类【xml library】
以上就是php中xml操作实例方法的详细内容。