文章出處

前言:雖然xml的格式看起來跟html差不多,但是最近做項目由于用的是thinkphp5.0的版本,做的過程中還是遇到了一些問題。在這里做一下記錄。

首先我們需要定義一個dom對象,我們都知道 php中是這樣來寫的

> $dom = new DOMDocument(); 

可是這時候就報錯了,第一步就卡住了,別說進行下面的DOM操作了

于是我翻了thinkPHP5.0手冊,手冊上倒是提了句關于命名空間,

如果你需要調用PHP內置的類庫,或者第三方沒有使用命名空間的類庫,記得在實例化類庫的時候加上 \

$xml = new \ SimpleXmlElement($xmlstr);

可惜我當時腦子愚笨,并沒有受啟發,后來翻了好些博客,才終于看到

> $dom = new \DOMDocument();

好了。DOM對象終于有了,終于可以操作DOM了

$dom->loadXML($xmlStr);    //將xml字符串轉換為xml文檔

$link = $dom->getElementByTagName('MobileNoteLink');

$Item = $dom->createElement('MobileNodeItem);

$Item->setAttribute('to',$param['to']);

$link->appendChild($Item);

然后看了一下,嘿,咋又報錯了,我這啥都沒干,就是基本的DOM操作啊,,,

這一下可是費了好久的時間才找到問題

> $link = $dom->getElementByTagName('MobileNoteLink')->item(0);

你得獲取到特定的那個標簽元素,不然他就會把所有的標簽都獲取到,成了一個集合

最后一步,因為這是后臺操作XML,數據庫的值呢是xml格式的,我也是第一次碰到這樣的情況,還是經驗太少,嘻嘻

需要將xml文檔轉換為xml格式字符串

$newXML = $dom->saveXML();

再之后將字符串插入數據庫就行了。

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()