我正在尝试将xml文件(通过Web表单创建的)加载到php页面中。这些目录是在添加产品和为每个产品编写的XML时创建的,稍后将由页面回调。
这是我得到的错误。
警告:DOMDocument :: load()[domdocument.load]:实体'nbsp'未在/home/content/41/11699441/html/nc/products/belly-dump/234efg/data.xml中定义,行:第4行/home/content/41/11699441/html/nc/includes/_xml.php中的4个
这是XML加载代码:
XML文件:
<?xml version="1.0"?>
<xml>
<model>
<type>Gravel Box</type>
<titleXML>345FGH - Tridem Clamshell</titleXML>
<features>here are features</features>
<options>here are options</options>
<gallery>my photo gallery directory</gallery>
<info>additional information</info>
</model>
</xml>
编写XML文档的PHP代码
`$ xml = new SimpleXMLElement('');
$model = $xml->addChild('model');
$model->addChild('type', $type);
$model->addChild('titleXML', $titleXML);
$model->addChild('features', $feature);
$model->addChild('options', $option);
$model->addChild('gallery', $gallery);
$model->addChild('info', $info);
$ XML-&GT; saveXML($ target_Path.'data.xml');`
答案 0 :(得分:0)
您可以使用DomDocument :: loadHTML();为你的问题。该实体不在已知的XML实体中。 XML中的所有实体必须是数字实体,除了&lt; &安培; “&gt;和'。您的XML文件似乎不是一个有效的XML文件。因此您可以使用loadHTML方法加载它,这对于无效的XML几乎没有问题。
最好的解决方案是data.xml文件有效。所以,如果可以的话,只需修改编写过程而不是修复阅读过程。