本帖最后由 Dana_Zhang 于 2014-02-17 00:26:13 编辑

解决方案 »

  1.   

    用html_entity_decode(),然后再new DomDocument 
      

  2.   

    如果特殊字符 <、>、& 不在 CDATA 标记中且没有转义,那么他就不是 XML
    你可以用 loadHTML 方法载入
      

  3.   


    我还有有点不明白举个简单的例子 
    <msg>
      <text>我是<测试字符串。</text>
    </msg>这个字符串怎么才能载入到DOM 里面!
    感谢您的回答!
      

  4.   


    首先感谢您的回答,使用您说的方法   loadHTML  对下面格式的字符串还是回报错
    <msg>
      <text>我是<测试字符串。</text>
    </msg>您有没有更好的解决方法~!
      

  5.   

    $dom  = new  DOMDocument ;
    $dom -> loadXML ( '<msg><text>我是测试字符串。</text></msg>' );
    if (! $dom ) {
    echo  'Error while parsing the document' ;
    exit;
    } $s  =  simplexml_import_dom ( $dom ); echo $s->text;
      

  6.   

    if ( file_exists ( 'test.xml' )) {
         $xml  =  simplexml_load_file ( 'test.xml' );
     
         echo $xml->text;
    } else {
        exit( 'Failed to open test.xml.' );
    }test.xml
    <?xml version="1.0" encoding="utf-8"?>
    <msg>
      <text>我是测试字符串。</text>
    </msg>
      

  7.   

    你首先确定你的xml是不是一个标准的xml,你可以去w3网站看看xml的规范,规范中不可以有这些特殊字符的。