第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP庫用于使用標(biāo)記名稱中的冒號來解析XML?

PHP庫用于使用標(biāo)記名稱中的冒號來解析XML?

喵喵時光機 2019-10-11 10:08:39
我一直在嘗試使用SimpleXML,但它似乎并不喜歡看起來像這樣的XML:<xhtml:div>sample <xhtml:em>italic</xhtml:em> text</xhtml:div>那么,哪個庫將處理看起來像這樣的標(biāo)簽(其中帶有冒號)?
查看完整描述

3 回答

?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

假設(shè)您有一些這樣的xml。


<xhtml:div>

  <xhtml:em>italic</xhtml:em>

  <date>2010-02-01 06:00</date>

</xhtml:div>

您可以這樣訪問“ em”: $xml->children('xhtml', true)->div->em;


但是,如果需要日期字段,則此方法將$xml->children('xhtml', true)->div->date; 無法工作,因為您被卡在xhtml命名空間中。


您必須再次執(zhí)行'children'以返回默認名稱空間:


$xml->children('xhtml', true)->div->children()->date;


查看完整回答
反對 回復(fù) 2019-10-11
?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

如果您想快速修復(fù)它,請執(zhí)行以下操作(我感到懶惰時會這樣做):


// Will replace : in tags and attributes names with _ allowing easy access

$xml = preg_replace('~(</?|\s)([a-z0-9_]+):~is', '$1$2_', $xml);

這將轉(zhuǎn)換<xhtml:到<xhtml_和</xhtml:到</xhtml_。有點hacky,如果涉及到CDATA NameSpaced XML容器塊或UNICODE標(biāo)記名稱,可能會失敗,但是我想您通常可以安全地使用它(還沒有讓我失?。?/p>


查看完整回答
反對 回復(fù) 2019-10-11
?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

我認為擺脫冒號或用某些人建議的其他方式代替冒號不是一個好主意。您可以輕松訪問具有名稱空間前綴的元素。您可以將標(biāo)識名稱空間的URL傳遞給children()方法的參數(shù),也可以將名稱空間前綴和“ true”傳遞給children()方法。第二種方法需要PHP 5.2及更高版本。


SimpleXMLElement :: children


查看完整回答
反對 回復(fù) 2019-10-11
  • 3 回答
  • 0 關(guān)注
  • 500 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號