【发布时间】:2018-02-28 09:04:28
【问题描述】:
当我尝试导入 xml 文件时,它返回一个错误:
xmlParseCharRef:xmlChar 值
4"无效,因为 xml 中的$amp;<STOCKGROUP >NAME="ABC &amp; Glass" RESERVEDNAME="">
这是我用来读取 xml 文件数据的代码
function add_product_type()
{
print_r($_FILES);
if (isset($_FILES['product_type_file']) && ($_FILES['product_type_file']['error'] == UPLOAD_ERR_OK)) {
$use_errors = libxml_use_internal_errors(true);
$response = simplexml_load_file($_FILES['product_type_file']['tmp_name']);
print_r($response);
foreach($response->BODY->IMPORTDATA as $key => $value) {
foreach($value->REQUESTDATA->TALLYMESSAGE as $key => $values) {
if (strstr("&", $values->STOCKGROUP->attributes())) {
$name = str_replace("&", "&", $values->STOCKGROUP->attributes());
}
else {
$name = $values->STOCKGROUP->attributes();
}
echo $name . ",";
}
}
if ($response == false) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
}
}
【问题讨论】:
-
听起来您尝试读取的 XML 存在语法错误。你能发布一个示例文档吗?
-
xmlParseCharRef: invalid xmlChar value 4 这个错误发生
-
不,请发布您尝试解析的 XML 数据的完整示例。错误消息中的 XML 看起来很破碎,但由于它是一个片段,因此无法分辨。
标签: php xml xml-parsing