>백엔드 개발 >PHP 튜토리얼 >在缺少根的XML文件基础上得到这个内容的XML对象,该如何解决

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-13 09:58:391051검색

在缺少根的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了解不多需要你自己分析一下哪里不符合要求老。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.