Php 如何验证$xmlDoc->;加载($xml);

Php 如何验证$xmlDoc->;加载($xml);,php,xml,domdocument,Php,Xml,Domdocument,这是我的xml文件: <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Title</title> <link>http://www.Mydomain.com</link> <description>Description</description>

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Title</title>
      <link>http://www.Mydomain.com</link>
      <description>Description</description>
      <managingEditor>managingEditor</managingEditor>
      <webMaster>webMaster</webMaster>
      <lastBuildDate>Sat, 19 Oct 2013 09:21:40 +0400</lastBuildDate>
      <generator>generator</generator>
      <item>
         <title>title</title>
         <link>link</link>
         <description>ATT&T</description>
         <author>author</author>
         <pubDate>25 Aug 2013 16:52:31 +0400</pubDate>
      </item>
    </channel>
</rss>
但我得到了这个错误:

Warning: DOMDocument::load(): EntityRef: expecting ';' in 
file:///C:/xampp/htdocs/readxml/rss.xml, line: 14 in
因为“&”。。。在描述节点中


请建议您更改XML。为了确保XML文档没有问题,您应该在CDATA中包含包含
&
的字符串

所以你的描述应该是这样的

<description><![CDATA[ATT&T]]></description>

上面的行将用
替换-all-&实体。

将ATT&T替换为ATT&;在XML中不允许使用未替换的符号。

ATT&;T仍然包含一个未替换的符号。@DamienOvereem
&
是一个有效的实体,不仅仅是ampersand.ok,还有我如何从一些网站上阅读,通过调用他们的rss url,我如何在:$xmlDoc->load($xml)期间修改它;好的,但是我如何从一些网站上阅读,通过调用他们的rss url,我如何在:$xmlDoc->load($xml)期间修改它;我认为这是你真正开始学习你在做什么的时候。。阅读关于DOMdocument的文档怎么样(或者,提示一下,试试SimpleXml)是的,我是DOMdocument的新手,但我完成了所有脚本,只是有时候对于一些rss url我有这个问题,我可以在加载后验证模式,但是在xml->load上,我收到了错误否这不是一种写入方式,我所做的是:libxml\u use\u internal\u errors(true); $xmlDoc=新的DOMDocument();如果($xmlDoc->load($RSSURL->URL)){…}或者{echo'not valis xml compent',你当然是绝对正确的。你不应该修复错误,你应该一起禁用它们()。我还建议您在所有php命令前面加上“@”,这样这些命令就不会因为错误而困扰您。您确实意识到这会超过缺少的标记、无效的属性等,对吗?您使用了错误的术语。这不是XML验证。您只有一个无效的XML文档,XML验证是确定文档是否正确的过程ent是有效的,而不是使其有效。而是在加载时尝试恢复无效的XML文档。另请参阅控制使用
DOMDocument::load()
时的错误处理。不要尝试使用XML解析器解析无效的XML,而是使用自由的提要解析器,如
UPDATE:

libxml_use_internal_errors(true);
$xmlDoc = new DOMDocument();
if($xmlDoc->load($RSSURL->URL))
{

}else{
     echo 'XML file is not valid structure';
}
$xml = str_replace('&', '&amp;', $xml);
UPDATE:

libxml_use_internal_errors(true);
$xmlDoc = new DOMDocument();
if($xmlDoc->load($RSSURL->URL))
{

}else{
     echo 'XML file is not valid structure';
}