我正在尝试使用PHP解析XML文件,但出现错误消息:
解析器错误:字符0x0超出允许的范围
我认为这是因为XML的内容所致,我认为有一个特殊的符号“☆”,我有什么想法可以解决该问题?
我也得到:
解析器错误:标签项目行中的数据过早结束
是什么导致该错误?
我正在使用simplexml_load_file
。
我尝试找到错误行并将其内容粘贴为单个xml文件,它可以正常工作!所以我仍然不知道是什么使xml文件解析失败。PS这是一个超过100M的巨大xml文件,会引起解析错误吗?
您可以控制XML吗?如果是这样,请确保将数据括在<![CDATA[
.. ]]>
块中。
并且您还需要清除无效字符:
/**
* Removes invalid XML
*
* @access public
* @param string $value
* @return string
*/
function stripInvalidXml($value)
{
$ret = "";
$current;
if (empty($value))
{
return $ret;
}
$length = strlen($value);
for ($i=0; $i < $length; $i++)
{
$current = ord($value{$i});
if (($current == 0x9) ||
($current == 0xA) ||
($current == 0xD) ||
(($current >= 0x20) && ($current <= 0xD7FF)) ||
(($current >= 0xE000) && ($current <= 0xFFFD)) ||
(($current >= 0x10000) && ($current <= 0x10FFFF)))
{
$ret .= chr($current);
}
else
{
$ret .= " ";
}
}
return $ret;
}
问题内容: 例如我有以下代码 并引发异常 我不在乎是否未读取某些行,但是如何跳过无效字符并继续读取行? 问题答案: 您可以通过调用来影响字符集解码处理无效输入的方式。 通常, 您永远不会直接看到对象,因为它将在后台为您创建。因此,如果需要访问它,则需要使用API,该API允许您直接指定(而不是仅编码名称或)。 此类API的最基本示例是: 请注意,此代码使用了Java 7类,对于早期版本,你可以
问题内容: 我想根据以下条件在PHP中修改我的xml文件。 我的xml结构如下所示: 现在每次在xml进行修改时,都带有type属性。 意味着,第一次搜索字符串==“ hotels”时,与酒店有关的数据将以上述格式存储在xml文件中。 现在,当再次搜索酒店时,它将删除具有带有值酒店的子元素的元素。 然后在与学校相关的数据附加到xml文件时,进行针对学校的不同查询。与酒店的数据。 现在再次搜索学校已
总之,我正在尝试解析中的xml。但是XMLSpy告诉我xml的格式不好。 我相信这xml中包含了一些无效字符()。因为如果我把它拿走。XMLSpy的验证已通过。我认为UTF-8编码不允许这种字符。但是如果我真的想加入这种角色呢。我应该应用哪种编码?谢谢
使用poi读取某些excel失败,遇到此错误 从,存在
我必须在运行时动态生成一个xml文件。请帮助我使用PHP动态生成下面的XML文件。 null
我有这个PHP脚本,它将表单的内容与图像一起上传到数据库。现在,我想让它上传一切,当它被选中(作品),并跳过上传图像部分,上传一切,但图像,如果不是。 下面是在服务器上上传图像的部分。 当我尝试插入没有图像的表单内容时,它会返回: 警告:getimagesize():第14行C:\xampp\htdocs\vinhub\inc\addpost.inc.php中的文件名不能为空 文件不是图像。对不起