-
什么是XML
- XML是可扩展性标记语言
- 设计宗旨是为了传输数据
- XML标签没有被预定义,需要自行定义
-
XML的用途
- xml可以当做配置文件
- xml可以当小型数据库
- xml是跨平台的语言,用于各个语言之间的数据交互
-
XML语法规范
- 声明一个处理指令<?xml version='1.0' encoding='utf-8'?>
- 文档为树状结构,只能有一个根目录
- 标签必须合法,标签必须闭合(单双标签),大小写一致,不能交叉。
- 属性必须有值,属性值必须有引号
- 特殊符号使用符号实体(单引号'双引号"空格 &符号&大于号<小于号>)
- 有特殊符号的大段内容使用<![CDATA[内容]]>表示
如下所示:
<?xml version='1.0' encoding='utf-8'?>
<student>
<student1>
<name>xiaoming</name>
<age>24</age>
<style hobby="girl" />
</student1>
<student2>
<name>xiaohong</name>
<age>24</age>
<style hobby="play" />
</student2>
</student>
-
javascript操作xml
-
创建空的xml对象
try{
xmlDoc=new ActiveXObject('Microsoft.XML');//IE创建xmlDoc
}catch(e){
try{
xmlDoc=document.implementation.createDocument('','',null);//opera,mozilla,firefox等创建xmlDoc
}catch(e){
alert(e.message);
}
}
-
加载xml文件
try{
xmlDoc.async=false;//关闭异步加载
xmlDoc.load=('xml_goods.xml');
//document.write('已经加载好了');
}catch(e){
alert(e.message);
}
-
获取xml文件的节点
var students = xmlDoc.getElementsByTagName('student1');//取到所有标签为student1的节点
var student = students[0];//取到第一个studnet1
var studentnote = student.children;//取到第一个student的所有元素子节点
var name = studentnote[0].childNodes[0].nodeValue;//取到第一个节点name的第一个节点的值
window.alert(name);
-
用PHP操作xml
-
xmlDOM方法
实例化一个xmldom对象
$xmlDoc = new DOMDocument('1.0','utf-8');
- 加载xml文件
$xmlDoc->load('./student.xml');//加载本地xml文件
$xmlDoc->loadXML('xml字符串');//加载xml字符串
- 通过getElementsByTagName('')方法获取DOMNodeList对
$xmlDoc->getElementsByTagName('name');
- 通过调用DOMNodeList里的item()方法得到DOMElement对象
$xmlDoc->getElementsByTagName('name')->item(0);
- 通过nodeValue属性,来获取节点的值
$xmlDoc->getElementsByTagName('name')->item(0)->nodeValue;
-
simplexml方法
获取xml对象
$simplexml = simplexml_load_file('./jing.xml');
//或者
$xml = file_get_contents('jing.xml'); //获取字符串
$simplexml = simplexml_load_string($xml);
- 调用对象的属性值从而获得xml标签值
$simplexml->stu[0]->sex;
作者:jingks
此为原创文章,请勿用在商业用途,转载请标明作者。