图片 2

12中SimpleXML是否默认不解析外部实体

正文实例陈说了Codeigniter通过SimpleXML将xml调换来对象的情势。共享给大家供大家参谋。具体解析如下:

简易来叙述一些XML吧,XML是可扩展标记语言,是生机勃勃种用于标识电子文件使其全体结构性的符号语言。XML是后天用来传输数据的两大工具之生龙活虎,别的一个是json。

php5.6.1第22中学SimpleXML是不是暗许不解析外界实体
有多个文本

SimpleXML是二个php扩充,有了它能够非常轻便的操作xml文件

我们在PHP中央银行使XML也是用来传输数据,由此在接到到XML的时候,仅仅是一大串有结构性的字符串。

xml.php:

class CI_ManipulateXML{var $xml='';function CI_ManipulateXML{ $this->xml=$xmlcontent;}function ConvertXML() {try { $xmlobject = new SimpleXMLElement; if  { return false; }}catch  { return false; }return $xmlobject;}}

在PHP中存放有两大扩张模块是用于拍卖XML的,分别是DOM扩充、SimpleXML扩充。在这里间就疏解一些怎么选择SimpleXML。

 <?php var_dump(simplexml_load_file('test.xml')); ?>

但愿本文所述对大家的依据Codeigniter框架的php程序设计有所扶持。

SimpleXML 函数是 PHP 核心的组成都部队分。没有必要安装就可以使用那些函数。

test.xml:

接下去使用四个事例来张开教学:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE a[ <!ENTITY b SYSTEM "http://127.0.0.1/index.html"> ]><a>&b;</a>
 1 <?php
 2 #实例化,含有四个参数,其中第一个参数是是必须的
 3 $simplexml=new SimpleXMLElement('<?xml version="1.0"?><articles/>'); 
 4 
 5 $article1=$simplexml->addChild('article');
 6 $article1->addChild('title','this is title1111');
 7 $article1->addChild('writer','Mr.李');
 8 
 9 $article2=$simplexml->addChild('article');
10 $article2->addChild('title','this is title2222');
11 $article2->addChild('writer','Mr.酒鬼');
12 
13 $article3=$simplexml->addChild('article');
14 $article3->addChild('title','this is title33333');
15 $article3->addChild('writer','Mr.一叶随风');
16 
17 $str= $simplexml->asXML();
18 file_put_contents('aa.xml', $str);
19 
20 $concert_list=simplexml_load_string($str);
21 #$concert_list=simplexml_load_file('./aa.xml');
22 echo "<pre>";
23 print_r($concert_list);
24 echo "</pre>";
25 
26 ?>

做客xml.php后,结果如下:
object(SimpleXMLElement)#1 { [“b”]=> object(SimpleXMLElement)#2 {
[“b”]=> object(SimpleXMLElement)#3 { } } }

展现的结果:

且服务器并不曾收取get index的央求

图片 1

缘何外界实体未有解析呢?

而且生成aa.xml

图片 2

从生成aa.xml文件来看,我们得以采纳SimpleXML来写出大家想要的XML代码。再看看显示的结果图,那时候的XML已经成为二个Object了,那就很有益大家对其进行下一步的拍卖了。

在SimpleXML中我们最日常选取的多个点子是simplexml_load_string(string)和simplexml_load_string(xmlfile),那四个格局的效果雷同都是将XML产生可遍历的Object。

其中simplexml_load_string()针对的靶马时XML字符串,simplexml_load_string()则是照准的目的是XML文件。

推断,SimpleXML既简便易行不经常那么的强有力!

SimpleXML还会有其余办法,具体能够参照他事他说加以考察php手册:

如上是友善对SimpleXML的小见解,若有欠缺也许不当的地点请大家提议,谢谢。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注