文章出處
文章列表
前言:雖然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();
再之后將字符串插入數據庫就行了。
文章列表
全站熱搜