Heim  >  Artikel  >  php教程  >  PHP cdata 处理

PHP cdata 处理

WBOY
WBOYOriginal
2016-06-06 20:00:281220Durchsuche

// States: // // 'out' // '' // '!' // '![' // '![C' // '![CD' // '![CDAT' // '![CDATA' // 'in' // ']' // ']]' // // (Yes, the states a represented by strings.) // $state = 'out'; $a = str_split($xml); $new_xml = ''; foreach ($a AS $k = $v

 

最近发现,总是有alert发出来, 说是simplexml解析出错。

 

发现是原来有xml的数据是]]] >. 出现了连续的3个], 造成上面的解析函数不能处理。

 

而且这个问题很难修正, 你不知道下次会不会有4, 5个]出现。

 

所以决定还是将这段解析 的代码换成DOM XML,本身 DOM的处理还是比较简单的,

 

包含DOMElement, DOMDocument, DOMNodeList, DOMNode几个 component.

 

对于 DOMNode有nodeValue, nodeType, nodeName的成员函数。

 

首先先用loadXML将string转化为DOMDocument对像, 再用getElementsByTagName转化为DOMNodeList对像, 再使用->item(0)转化为DOMNOde, 然后就可以使用上面的三种方法了。

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn