PHP透過DOM操作XML

highhand發表於2021-09-09

屬性:

  1. Attributes 儲存節點的屬性列表(只讀)

  2. childNodes 儲存節點的子節點列表(只讀)

  3. dataType 返回此節點的資料型別

  4. Definition 以DTD或XML模式給出的節點的定義(只讀)

  5. Doctype 指定文件型別節點(只讀)

  6. documentElement 返回文件的根元素(可讀寫)

  7. firstChild 返回當前節點的第一個子節點(只讀)

  8. Implementation 返回XMLDOMImplementation物件

  9. lastChild 返回當前節點最後一個子節點(只讀)

  10. nextSibling 返回當前節點的下一個兄弟節點(只讀)

  11. nodeName 返回節點的名字(只讀)

  12. nodeType 返回節點的型別(只讀)

  13. nodeTypedValue 儲存節點值(可讀寫)

  14. nodeValue 返回節點的文字(可讀寫)

  15. ownerDocument 返回包含此節點的根文件(只讀)

  16. parentNode 返回父節點(只讀)

  17. Parsed 返回此節點及其子節點是否已經被解析(只讀)

  18. Prefix 返回名稱空間字首(只讀)

  19. preserveWhiteSpace 指定是否保留空白(可讀寫)

  20. previousSibling 返回此節點的前一個兄弟節點(只讀)

  21. Text 返回此節點及其後代的文字內容(可讀寫)

  22. url 返回最近載入的XML文件的URL(只讀)

  23. Xml 返回節點及其後代的XML表示(只讀)


方法:

  1. appendChild 為當前節點新增一個新的子節點,放在最後的子節點後

  2. cloneNode 返回當前節點的複製

  3. createAttribute 建立新的屬性

  4. createCDATASection 建立包括給定資料的CDATA段

  5. createComment 建立一個註釋節點

  6. createDocumentFragment 建立DocumentFragment物件

  7. createElement 建立一個元素節點

  8. createEntityReference 建立EntityReference物件

  9. createNode 建立給定型別,名字和名稱空間的節點

  10. createPorcessingInstruction 建立操作指令節點

  11. createTextNode 建立包括給定資料的文字節點

  12. getElementsByTagName 返回指定名字的元素集合

  13. hasChildNodes 返回當前節點是否有子節點

  14. insertBefore 在指定節點前插入子節點

  15. Load 匯入指定位置的XML文件

  16. loadXML 匯入指定字串的XML文件

  17. removeChild 從子結點列表中刪除指定的子節點

  18. replaceChild 從子節點列表中替換指定的子節點

  19. Save 把XML檔案存到指定節點

  20. selectNodes 對節點進行指定的匹配,並返回匹配節點列表

  21. selectSingleNode 對節點進行指定的匹配,並返回第一個匹配節點

  22. transformNode 使用指定的樣式表對節點及其後代進行轉換

  23. transformNodeToObject 使用指定的樣式表將節點及其後代轉換  

[php] view plaincopy

  1.  

  2. //讀取xml  

  3. $dom=new DOMDocument('1.0');  

  4. $dom->load('data.xml');  

  5. $em=$dom->getElementsByTagName('videos');//最外層節點  

  6. $em=$em->item(0);  

  7. $items=$em->getElementsByTagName('video');//節點  

  8. //如果不用讀取直接新增的話把下面這一段去掉即可  

  9. foreach($items as $a){  

  10.     foreach($a->attributes as $b){//$b->nodeValue;節點屬性的值$b->nodeName;節點屬性的名稱  

  11.         echo $b->nodeName;  

  12.         echo ":";  

  13.         echo $b->nodeValue;  

  14.         echo "
    "
    ;  

  15.     }  

  16. }  

  17. //下面是往xml寫入一行新的  

  18. $t=$dom->createElement('video');//

  19. $t->setAttribute('title','1');//

  20. $t->setAttribute('src','2');//

  21. $t->setAttribute('img','1');//

  22. $em->appendChild($t);//  

  23. $dom->save('data.xml');  

  24. ?>   

  25.    

  26. 當時的xml文件:  

  27.    

相關文章