国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php入門教程xml學習筆記

2024-05-04 21:58:39
字體:
來源:轉載
供稿:網友

明確目標:1、理解xml的結構,2、如何動態建立xml文件,3、如何讀取和修改xml文件

一、xml的結構是樹形結構,這個好理解,簡單寫一個:

  1. <pictures> 2   <picture> 3      <id>1</id> 4      <name>pic 1</name> 5   </picture> 6   <picture> 7      <id>2</id> 8      <name>pic 2</name> 9   </picture>10   <picture>11      <id>3</id>12      <name>pic 3</name>13   </picture>14  </pictures> 

二、使用的php創建:

1. 定義一個dom對象:$dom = new domdocument('1.0');

2. 添加子元素:$dom->appendchild($dom->createelement("pictures"))

內存中的原型是:<pictures></pictures>

繼續往里邊加子元素:*->appendchild($dom->createelement("picture"));

繼續加:**->appendchild($dom->createelement("id"));

不加子元素了,加節點: ***->appendchild($dom->createnode("1"))

上面的*代表上上一行的代碼,這樣一來就可以寫成一行:

$dom->appendchild($dom->createelement("pictures"))->appendchild($dom->createelement("picture"))->appendchild($dom->createelement("id"))->appendchild($dom->createnode("1"));

現在內存中應該是這樣的:<pictures><picture><id>1</id></picture></pictures>

顯然離要求還遠,很容易看懵的,因此一般這么寫:$pictures = $dom->appendchild($dom->createelement("pictures"));

$picture = $pictures->appendchild($dom->createelement("picture"));

$id = $picture->appendchild($dom->createelement("id"));

$id->appendchild($dom->createnode("1"));

下面還可以接著創建name節點:

$name = $picture->appendchild($dom->createelement("name"));

$name->appendchild($dom->createnode("pic 1"));

接下來還要接著創建picture節點:

$picture = $pictures->appendchild($dom->createelement("picture"));

其實這些麻煩的事可以寫個for循環來實現.

生成xml文件:

$dom->formatoutput = true;//設置格式化輸出

$dom->save("erhsh.xml");//保存xml文件

三、讀取xml文件

1、還是定義一個dom對象;$dom->new domdocument();

2、加載xml文件:$dom->load("erhsh.xml");

3、按照節點的名字取得節點集合:$dom->getelementbytagname("pictures");

不過有一種我喜歡的方法:simplexml_load_file("erhsh.xml");此方法可以把xml文件的內容轉換成對象的形式,使用"->"結和"[]"很容易去的xml的內容;

但是在開發中還是遇到了一點問題,當執行:print_r($xml->pictures);時輸出的是一個 simplexmlelement 對象,([picture] => array([0]=>array(...)[1]=>array(...)));

再執行:print_r($xml->pictures->picture);輸出的是n個分開的對象.

執行:print_r($xml->pictures->picture[0]->id);輸出的還是一個對象,這就很不理解,應該是一個字符串, 最后網上說是“迭代對象”,應該使用echo輸出,print_r(), var_dump()輸出不準確.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通化市| 汪清县| 高雄县| 黄浦区| 商都县| 临漳县| 沧源| 龙里县| 黑山县| 承德市| 南昌县| 涪陵区| 夏河县| 新民市| 莱阳市| 东乡县| 瑞金市| 星子县| 辛集市| 宕昌县| 闵行区| 惠来县| 合江县| 菏泽市| 辽阳县| 井冈山市| 多伦县| 松溪县| 石城县| 高要市| 金门县| 临夏县| 沁源县| 青田县| 汉寿县| 郁南县| 信阳市| 徐汇区| 云南省| 新泰市| 唐山市|