Home >Backend Development >PHP Tutorial >在缺少根的XML文件基础上得到这个内容的XML对象,该如何解决

在缺少根的XML文件基础上得到这个内容的XML对象,该如何解决

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-13 09:58:391059browse

在缺少根的XML文件基础上得到这个内容的XML对象
我要处理一种用户提交的XML,是缺少根的,即原本XML标准结构为

 
 


 
 

.........
.........


但我的用户们提交XML文件是没有根的
 
 


 
 


于是用simplexml_load_file函数来创建XML对象即不可能,因为解释器会报错
我就想载入XML文件字符串到变量$str,然后再前后添加一个根字符串 之类,形成一个标准XML字符串内容后再用
simplexml_load_string函数来创建XML对象
=================
我所遇到的难题系,首先打算将xml 的文件流载入到$str变量时就已经失败,PHP的文件读取函数好像做了点手脚,将载入的内容都变成空了.fread,file_get_contents函数都不行,请问哪位有高招?

(注:请不要考虑手动在XML上添加一个根,因为这种XML其实是某个游戏的脚本,个游戏专门弄成咁样的..我必须以兼容这个游戏数据的态度来做读取程序)
以下是代码



function GetXMLDOM($filename)
{

$xmlStr=file_get_contents($filename);

if(strpos($xmlStr,''))
//初步验证XML内容是否为该游戏的脚本
{
$xmlStr=''.$xmlStr.'';
return simplexml_load_string($xmlStr);
}
else return false;
}


------解决方案--------------------
我试了一下 函数在判断上有问题

if(strpos($xmlStr,'')) 

修改成 

if(strpos($xmlStr,'
另外 但是到了 simplexml_load_string 这里 读取xml会有问题,我对xml了解不多需要你自己分析一下哪里不符合要求老。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn