PHP读取XML小记
博客专区 > 侯禹 的博客 > 博客详情
PHP读取XML小记
侯禹 发表于4年前
PHP读取XML小记
  • 发表于 4年前
  • 阅读 45
  • 收藏 0
  • 点赞 0
  • 评论 0

这两天在做PHP,发现之前写这个网站的人的代码太不讲究了,网页里面一堆堆的文字,所以觉得有必要整理一下沉重的代码。我想采取的方法是:将这些文字放入到XML中,因为之前的网页的文字也是有一定规律的,然后在网页运行时,加载XML,得到文字,这样就把文字和代码分离开了。
第一次用的方法:(采用的是DOM取节点的方法)

$path = dirname(__FILE__);
$doc = new DOMDocument();
$doc->load($path.'/../View/Users/company-info.xml');
$companys = $doc->getElementsByTagName("company");
$comps = array();
foreach($companys as $company){
/*这里getElementsByTagName后面跟的是标记的名字*/
$name = $company->getElementsByTagName("name")->item(0)->nodeValue;
$info = $company->getElementsByTagName("info")->item(0)->nodeValue;
$comps[$name] = $info;
}

结果放到服务器上的时候,悲剧了,原因可能是因为PHP5才支持这种方法,所以后来又换了一种旧版本都可以用的方法

simplexml_load_file():
$path = dirname(__FILE__);
$comps = array();
$xml_array=simplexml_load_file($path.'/../View/Users/company-info.xml'); 
//将XML中的数据,读取到数组对象中
foreach($xml_array as $tmp){
$comps[$tmp->name.""] = $tmp->info."";
}

这次就可以用了,注意上面的$tmp->name.""这里,其实一开始没有想到,但是后来存在数组中的时候,报我错说是:key值错误,然后我才意识到,似乎那个$tmp->name并不是string型的。所以拼接强转了一下。

标签: php xml 读取
共有 人打赏支持
粉丝 94
博文 49
码字总数 34362
×
侯禹
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: