如何在大xml文件中使用php?

如何在大xml文件中使用php?,php,html,mysql,xml,Php,Html,Mysql,Xml,我想使用php从mysql数据库获取数据并在xml文件中设置值,我尝试了不同的方法,例如 libxml_use_internal_errors(true); $myXMLData= "<?xml version='1.0'?>............(12000lines)............."; $xml = simplexml_load_string($myXMLData); if ($xml === false) { echo "Failed loadin

我想使用php从mysql数据库获取数据并在xml文件中设置值,我尝试了不同的方法,例如

libxml_use_internal_errors(true);
$myXMLData=
    "<?xml version='1.0'?>............(12000lines).............";
$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
    echo "Failed loading XML: ";
    foreach(libxml_get_errors() as $error) {
        echo "<br>", $error->message;
    }
} else {
    print_r($xml);
}
?>
libxml\u使用\u内部错误(true);
$myXMLData=
“…………(12000行)……”;
$xml=simplexml\u load\u字符串($myXMLData);
如果($xml==false){
echo“加载XML失败:”;
foreach(libxml_get_errors()作为$error){
回显“
”,$error->消息; } }否则{ 打印(xml); } ?>
等等,但没有任何效果。上面的方法在很多行中都显示了错误,因为xml文件太大,正如您在图像中看到的那样。 如果有任何方法可以在xml文件中使用PHP,请告诉我。多谢各位


此元素的数据有问题

<NamedRange ss:Name='Print_Area' ss:RefersTo='='MSI APR-18'!R1C2:R94C21'/>

可能是在处理过程中,双引号已被单引号替换,这意味着ss:referesto属性具有非法值

您可以将这一行编辑为

<NamedRange ss:Name='Print_Area' ss:RefersTo=\"='MSI APR-18'!R1C2:R94C21\"/>


它应该可以工作。

当你说它在你的代码中显示错误时,你能说明这些错误是什么吗(不需要重复相同的错误,但是一个示例就可以了)正如我上面提到的,有12000多行代码,当我删除标记之间的空格时,其他错误移动到另一行并继续这样做:(加载XML失败:属性构造错误找不到开始标记NamedRange行1980OK的结尾-该错误看起来更像是XML有问题,而不仅仅是大小问题。您是否可以给我一份数据副本(如pastebin或任何其他网站可能会这样做)当然,先生,我刚刚编辑了我的问题。您可以在问题的末尾找到它。感谢您的时间,现在它给出了错误解析错误:语法错误,意外的“MSI”(T_字符串)错误-忘记它已经在引号中…将更新答案。更改为
\“
,以避免双引号在输出中需要xml文件时生成xml代码:(是否有任何方法可以获取xml文件而不是此代码。我复制所有代码并粘贴到记事本中,并将其保存为xml,但它给出了错误,并且没有给出我需要的报告。)