真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用php操作xml

本文小編為大家詳細(xì)介紹“怎么使用php操作xml”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么使用php操作xml”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了遵化免費(fèi)建站歡迎大家使用!

php操作xml

最近計(jì)劃寫(xiě)個(gè)人的小網(wǎng)站,一系列原因選擇了用php來(lái)寫(xiě),最大的問(wèn)題就是雖然php很流行,但我從來(lái)沒(méi)有接觸過(guò)php,看了一個(gè)多星期的基本語(yǔ)法后做些小練習(xí)熱熱身,但是期間是各種問(wèn)題啊,主要是對(duì)php不熟悉,遇到一些總結(jié)一些吧。

數(shù)據(jù)



    
        David Flanagan
    
    
        Luke Welling
        Laura Thomson
    
    
        David Courley
        Brian Totty
    

XML幾個(gè)基本概念

節(jié)點(diǎn):節(jié)點(diǎn)也就是很多程序語(yǔ)言中處理XML時(shí)的Node,節(jié)點(diǎn)是一個(gè)比較寬泛的概念,在XML中元素,屬性,名字空間,注釋?zhuān)谋緝?nèi)容,處理指令,還有整個(gè)文檔都屬于節(jié)點(diǎn),也就是說(shuō)XML文檔中每個(gè)獨(dú)立的一小部分都是節(jié)點(diǎn),是,也是,name=”XXXX”也是,標(biāo)簽是,甚至作者的名字David Flanagan都是一個(gè)文本節(jié)點(diǎn)。

元素:很多程序語(yǔ)言都有對(duì)XML處理,節(jié)點(diǎn)是一個(gè)很寬泛的概念,因?yàn)橐y(tǒng)一API,對(duì)節(jié)點(diǎn)不會(huì)有過(guò)多方法,而元素也就是Element是節(jié)點(diǎn)的一個(gè)子集,簡(jiǎn)單講就是這樣的標(biāo)簽才算,一般會(huì)有很多針對(duì)元素的操作方法。

屬性:這個(gè)比較好理解,在<>里面的類(lèi)似XX=”O(jiān)O”等東西都是屬性節(jié)點(diǎn)

轉(zhuǎn)義字符:和HTML等類(lèi)似,xml也有語(yǔ)言占用的符號(hào),想使用的這些特殊字符的時(shí)候需要轉(zhuǎn)義

<

<

>

>

&

&

'

"

DOMDocument對(duì)象

我使用的是DOMDocument對(duì)象來(lái)操作xml,感覺(jué)用起來(lái)比simpleXml科學(xué)一些,當(dāng)然第一天使用php,純屬個(gè)人感覺(jué)。DOMDocument有幾個(gè)常用的屬性和方法。

屬性作用
attributes節(jié)點(diǎn)屬性集合
parentNode節(jié)點(diǎn)父節(jié)點(diǎn)
documentElement文檔根節(jié)點(diǎn)
nodeName節(jié)點(diǎn)的名字
nodeType節(jié)點(diǎn)類(lèi)型
nodeValue節(jié)點(diǎn)值
Text節(jié)點(diǎn)及其子節(jié)點(diǎn)轉(zhuǎn)換為文字
方法作用
appendChild為節(jié)點(diǎn)添加子節(jié)點(diǎn)
createAttribute創(chuàng)建屬性節(jié)點(diǎn)
createElement創(chuàng)建元素
getElementsByTagName通過(guò)節(jié)點(diǎn)名獲取節(jié)點(diǎn)集合
hasChildNodes判斷節(jié)點(diǎn)是否有子節(jié)點(diǎn)
insertBefore在節(jié)點(diǎn)
Load通過(guò)文檔路徑加載xml
loadXML加載zml字符串
removeChild刪除子節(jié)點(diǎn)
removeAttribute刪除屬性節(jié)點(diǎn)
save保存文檔

加載xml

$path=$_SERVER["DOCUMENT_ROOT"]."/books.xml";
    $books=new DOMDocument();
    $books->load($path);

讀取/遍歷節(jié)點(diǎn)與屬性

$bookElements=$books->getElementsByTagName("book");

    foreach($bookElements as $book){
        foreach ($book->attributes as $attr) {
            echo strtoupper($attr->nodeName)." ―― ".$attr->nodeValue."
";         }         echo "AUTHOR: ";         foreach ($book->getElementsByTagName("author") as $author) {             echo $author->nodeValue."?";         }         echo "

";     }

怎么使用php操作xml

當(dāng)然對(duì)于很多屬性,只想讀一個(gè),可以通過(guò)item(index)方法按索引讀取

echo $book->attributes->item(1)->nodeValue;

還可以通過(guò)強(qiáng)大的xpath查詢(xún)

$xpath = new domxpath($books);
$bookElements=$xpath->query("/books/book");

修改屬性/節(jié)點(diǎn)

foreach($bookElements as $book){
        foreach ($book->attributes as $attr) {
            #$book->setAttribute($attr->nodeName,strtoupper($attr->nodeValue));
            $attr->nodeValue=strtoupper($attr->nodeValue);
        }
        echo "AUTHOR: ";
        foreach ($book->getElementsByTagName("author") as $author) {
            $author->nodeValue=strtoupper($author->nodeValue);
        }

    }
    $books->save($path);

怎么使用php操作xml

對(duì)屬性修改可以直接訪問(wèn)其nodeValue改動(dòng),也可以使用setAttribute方法,改動(dòng)完了別忘了使用save保存。

$book->setAttribute($attr->nodeName,strtoupper($attr->nodeValue));
$attr->nodeValue=strtoupper($attr->nodeValue);

添加元素/屬性

$newBook=$books->createElement("book"); #創(chuàng)建新元素
    $newBook->setAttribute("name","PHP Objects, Patterns, and Practice");#創(chuàng)建新屬性,方法一

    $publisher=$books->createAttribute("publisher");#創(chuàng)建新屬性,方法二
    $publisher->nodeValue="Apress L.P";
    $newBook->appendChild($publisher); #把屬性添加到元素上

    $author=$books->createElement("author");#創(chuàng)建子元素
    $author->nodeValue="Matt Zandstra";
    $newBook->appendChild($author);#把子元素添加到父元素上

    $books->documentElement->appendChild($newBook);#添加整個(gè)節(jié)點(diǎn)
    $books->save($path);

刪除屬性/節(jié)點(diǎn)

$first=$bookElements->item(0);
    $first->removeAttribute("publisher");

    $second=$bookElements->item(1);
    $second->parentNode->removeChild($second);

    $books->save($path);

怎么使用php操作xml

讀到這里,這篇“怎么使用php操作xml”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁(yè)名稱(chēng):怎么使用php操作xml
URL分享:http://weahome.cn/article/peccjo.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部