2012-07-17 3 views
2

로 CDATA를 구문 분석 할 수 없습니다 나는 다음 XML 코드가 있습니다SimpleXML을

<para> 
     <![CDATA[ 
     <?php 
     $data = '<?xml version="1.0"?> 
     <root>content</root>'; 
     $sxe = simplexml_load_string($data); 
     var_dump($sxe); 
     ?> 
     ]]> 
    </para> 

나는이 결과를 적용하려면 CDATA 섹션을 구문 분석 할 :

Content: 
<?php 
$data = '<?xml version="1.0"?> 
<root>content</root>'; 
$sxe = simplexml_load_string($data); 
var_dump($sxe); 
?> 

나는 다음과 같은 사용을하지만 그렇지 않은 작업.)은 phpinfo에서

Content: 


     content'; 
     $sxe = simplexml_load_string($data); 
     var_dump($sxe); 
     ?> 

(이것은 libxml 활성화 및 활성 상태임을 보여준다

$xml='sxml.xml'; 
$book = simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA); 

$para = $book->chapter->para[1]; 
print "Content: ".$para."<br>"; 

foreach($para AS $node) { 
    print "Iter Content: ".$node."<br>";  
} 

이 초래한다. 도움이 되었습니까? 당신이 할 수있는 경우 print "Content: ".htmlspecialchars($para)."<br>";

답변

2

당신은 예를 들어 htmlspecialchars

사용하여 특수 문자를 인코딩해야 미리

감사?
+0

당신이 나에게 예를 줄 수 : –

+0

대단히 감사합니다 !! 그것은 효과가있다! –

+1

@MrGlass는 요청 된대로 노드 내용이 표시되지만 브라우저에서보고 있기 때문에 노드는 유효한 HTML 태그가 아니므로 해결되지 않는 HTML로 구문 분석됩니다. 소스를보고 그들을 보거나'htmlspecialchars'를 사용하여 결과를 탈출하십시오. –