XML 学习
来源:互联网 发布:台湾妹网络自拍 编辑:程序博客网 时间:2024/05/03 20:37
XML与HTML的区别 :XML实现了数据和显示的分离,XML具有标签自描述性,标签是自己命名的,用来描述数据<姓名>凌晨</姓名> 标签名字一律小写
学习XML的重点:一:特点,二:语法规范,三:解析与创建 四:DTD
语法规范
<?xml version="1,0" encoding="utf-8"?> 只能有一个根节点ROOT
要注意特殊字符!
CDATA节点——放大段文本原样解析 类似于定界符
获取各大网站的API ,从而获得相关xml或者jason 的数据
例子 土豆API
XML 的DOM 解析
通过PHP解析XML
1.把XML文件读入进来,形成XML文档对象 document对象
2、通getElementByTagName()得到一组节点
3、得到的一组对象,取得其某一个,得到具体节点、
① $dom = new DOMdocument('1.0','uth-8')
②载入XML文档
$dom->load();
$dom->getElementByTagName();返回DOMNodelist对象
DOMNodelist->item() 返回domelement对象
$dom->getElementByTagName('title')->item(1)->childNodes->item(0)->wholeText;
简化写法
echo $dom->getElementByTagName('title')->item(1)->nodeValue;
DOM创建XML
首先 createElement 再使用createtextnode 然后通过appendchild 进行节点之间的分配创建文本节点 最后save PS :不要忘记 $xml->appendChild($root);
以下是一个详细的用法
//定义博文数据,实际数据应该从数据库中取出$articles = array(array('title' => '深入浅出CURL', 'author' => '360weboy'), array('title' => '深入理解execution context', 'author' => 'jack.yin')); //构建dom document $xml = new DOMDocument(); //格式化输出 $xml->formatOutput = TRUE; //设置xml文档的编码为utf8 $xml->encoding = 'utf8'; //构建文章根节点 $root = $xml->createElement('articles'); if (count($articles) > 0) { //遍历数组,生成文章子节点 foreach($articles as $article) { //建立文章节点 $a = $xml->createElement('article'); //建立title字节点 $title = $xml->createElement('title'); //建立文本节点,并且加入到title节点下 $title->appendChild($xml->createTextNode($article['title'])); //添加title节点到article节点下 $a->appendChild($title); $author = $xml->createElement('author'); $author->appendChild($xml->createTextNode($article['author'])); $a->appendChild($author); //添加article节点到根节点下 $root->appendChild($a); } } //添加根节点到xml文档下 $xml->appendChild($root); //设置charset为utf-8,不然浏览器会显示中文为乱码 header('Content-Type: text/html;charset=UTF-8'); //保存xml文档到artciles.xml if ($xml->save('articles.xml') !== FALSE) { echo 'articles.xml已经生成保存!'; } else { echo 'articles.xml生成失败'; }
上述代码生成的xml文档如下:
<?xml version="1.0"?><articles> <article> <title><![CDATA[深入浅出CURL]]></title> <author>360weboy</author> </article> <article> <title><![CDATA[深入理解execution context]]></title> <author>jack.yin</author> </article></articles
PS:创建属性节点 使用createAtribute 然后用->value 赋值
- XML学习
- XML学习
- XML学习
- XML学习
- XML学习
- XML学习
- xml学习
- 学习xml
- xml 学习
- XML学习
- XML 学习
- 学习XML
- XML学习
- xml学习
- xml学习
- XML学习
- XML学习
- XML学习
- 图片导入
- HDU ACM 5019 Revenge of GCD
- 【c语言】实现可变参数列表
- 百度语音合成 5月12号为止最新版
- ios--网页js调用oc代码+传递参数+避免中文参数乱码的解决方案(实例)
- XML 学习
- 基于共享内存的分布式消息学习笔记
- 如何使用App Store兑换码进行营销
- Leetcode Convert Sorted Array to Binary Search Tree 有序数组转换成二叉搜索树BST
- ie8下jquery的attr的问题
- 编程习惯——生活篇
- 聊聊移动端跨平台开发的各种技术
- 蒸蒸日上的智能手机,国产手机却迎来寒冬,因为手机操作系统android太垃圾
- 黑马程序员---(学习日记-Java基础)静态方法与非静态方法