前言
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");
$nodeLists=$xmldoc->getElementsByTagName(
"stu");
$nodeList = $nodeLists->item(
0);
$node_name = $xmldoc->createElement(
"name");
$node_name->nodeValue
= "我喜欢你";
$node_age = $xmldoc->createElement(
"age");
$node_age->nodeValue
= "20";
$root->appendChild(
$node_name);
$root->appendChild(
$node_age);
$xmldoc->save(
"test.xml");
$test->parentNode
->removeChild(
$test);
找到那个需要修改的节点 直接改 nodeValue属性就可以
setAttribute (
string $name ,
string $value)
添加属性为
$name 属性值
$value的属性
xpath
php 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>";
}
simplexml_import_dom
simplexml_load_string
超链接统一打开问题
<head>
<base target="_blank">
</head>
后记
比预想的进度晚了好多,寒假也没有接触爬虫和Java,Linux也是空手而归.. 新的学期还有好多好多的比赛,希望自己能坚持下去,Just do what you want to do. 没有那么多的约束,尽情去展现自己的水平吧。 To learn,to try.