Php simplexml_加载_文件错误工作了几次,然后停止;
我在使用simplexml加载xml文件时遇到问题,非常感谢您的帮助。代码运行了好几次,在那之后,即使文件存在,我也无法打开该文件。谢谢Php simplexml_加载_文件错误工作了几次,然后停止;,php,xml,simplexml,Php,Xml,Simplexml,我在使用simplexml加载xml文件时遇到问题,非常感谢您的帮助。代码运行了好几次,在那之后,即使文件存在,我也无法打开该文件。谢谢 <?php echo 'starting read<br>'; //////////////////////////////////// //$categories=$_POST["categories"]; //$project=$_POST["project"]; //$camera=$_POST["camera"]; //$desc
<?php
echo 'starting read<br>';
////////////////////////////////////
//$categories=$_POST["categories"];
//$project=$_POST["project"];
//$camera=$_POST["camera"];
//$description=$_POST["description"];
//$num=$_POST["val"];
///////////////////////////////////
$categories='a';
$project='a';
$camera='a';
$description='a';
$num=2;
//////////////////////////////////
$data=$categories.'<br />'.$project.'<br />'.$camera.'<br />'.$description;
echo $data;
$file = "main.xml";
//checking if file exists
if(!file_exists($file))
{echo'<br> file does not exist<br>';
}
else
echo '<br> file exists <br>';
// load file
$xml = simplexml_load_file($file) or die ("Unable to load XML file!");
// access XML data
$val=$xml->settings->imagesPage->imagesGallery->pageTitle[$num];
echo $val;
$xml->settings->imagesPage->imagesGallery->pageTitle[$num]=$data;
file_put_contents($file, $xml->asXML());
echo '<br>'. $desc.'\n';
?>
这是xml文件结构
<?xml version="1.0" encoding="iso-8859-1"?>
<content>
<settings>
<imagespage>
<imagesGallery>
<pageTitle><![CDATA[<br>SED UT PERSPI<br>CANON 124<br>LOREM IPSUM<br>DOLOR SIT AMET]]></pageTitle>
<pageTitle><![CDATA[<br>SED UT PERSPI<br>CANON 124<br>LOREM IPSUM<br>DOLOR SIT AMET]]></pageTitle>
<pageTitle><![CDATA[<br>SED UT PERSPI<br>CANON 124<br>LOREM IPSUM<br>DOLOR SIT AMET]]></pageTitle>
<pageTitle><![CDATA[<br>SED UT PERSPI<br>CANON 124<br>LOREM IPSUM<br>DOLOR SIT AMET]]></pageTitle>
<pageTitle><![CDATA[<br>SED UT PERSPI<br>CANON 124<br>LOREM IPSUM<br>DOLOR SIT AMET]]></pageTitle>
</imagesGallery>
</imagespage>
</settings>
</content>
我还确保allow_url_fopen设置为ON(开)第34行有一个小的打字错误
$xml->settings->imagesPage->imagesGallery->pageTitle[$num]=$data;
应该是
$xml->settings->imagespage->imagesGallery->pageTitle[$num]=$data;
除此之外,$desc的结尾还有一个未定义的错误。它没有设置 @tlenss谢谢我更正了$desc它应该是$data,你发现的另一个错误是我在网页上的输入错误 我的问题是,我的xml文件在前几次正确加载了,但随后抛出错误,称无法在仔细检查var_dump$xml时加载。我发现问题是simpleXML无法正确处理cdata 所以我像这样加载了我的文件
$xml = simpleXML_load_file($url,"SimpleXMLElement",LIBXML_NOCDATA);
如果您的文档没有cdata节,那么像这样加载$xml=simplexml\u load\u file$file是可以的您收到错误消息了吗?如果是,什么?没有错误消息所有显示的内容都无法加载XML文件,请为您的XML文件提供正确的路径。没有错误消息所有显示的内容都无法加载XML文件,正如您所看到的,我使用文件存在功能检查文件路径是否设置正确;file_exists$file的输出为true,错误为警告:simplexml_load_file[function.simplexml load file]:main.xml:370:解析器错误:在C:\wamp\www\grab.php中联机解析属性名称时出错27@thinkingmonkey我已经将文件设置为变量$file,fileexists$file返回true。