网站建设资讯

NEWS

网站建设资讯

php获取xml数据 php解析xml文件

如何通过PHP生成和获取XML格式数据

1自己拼,XML编码

为昌邑等地区用户提供了全套网页设计制作服务,及昌邑网站建设行业解决方案。主营业务为成都网站设计、成都做网站、外贸营销网站建设、昌邑网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

?php

header('Content-type:text/xml');

echo "?xml version='1.0' encoding='utf-8'";

echo "book";

echo "PHP";

echo "namePHP程序开发范例宝典/name";

echo "price 单位='元/本'89.00/price";

echo "date2007-09-01/date";

echo "/PHP";

echo "/book";

?

拼接的效果

2从数据库中查询再拼XML编码

?php

$dsn="mysql:host=localhost;dbname=test";

try {

$pdo = new PDO($dsn,'root','passwowd'); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query="select * from book";   //定义SQL语句

$pdo-query('set names utf8');

$result=$pdo-prepare($query); //准备查询语句

$result-execute();       //执行查询语句,并返回结果集

$arr='';

while($res=$result-fetch()){

$arr.='PHPid'.$res[0].'/idname'.$res[1].'/namedate'.$res[2].'/date'.'price'.$res[3].'/price/PHP';

}

echo "?xml version='1.0' encoding='utf-8'?book".$arr.'/book';

} catch (PDOException $e) {

die ("Error!: ".$e-getMessage()."br");

}

?

拼接的效果

3使用ajax获取,DOM解析

!DOCTYPE html

html lang="en"

head

meta charset="UTF-8"

titlexml/title

/head

body

script

function check(){

var xhr=new XMLHttpRequest();

xhr.open('GET','xml.php');

xhr.onreadystatechange=function(){

if(xhr.readyState==4 xhr.status==200){

console.log(xhr.responseText);

//初始化 DOM解析对象

var domParser = new DOMParser();

//字符串解码为对象

var xmlDoc = domParser.parseFromString(xhr.responseText,'text/xml');

//按标签名获取元素 返回数组

var elements = xmlDoc.getElementsByTagName('PHP');

//拼接html格式字符串

var str ='trthid/ththname/ththdate/ththprice/th/tr';

for (var i=0;ielements.length;i++){

var id=elements[i].getElementsByTagName('id')[0].firstChild.nodeValue;

var name=elements[i].getElementsByTagName('name')[0].firstChild.nodeValue;

var date=elements[i].getElementsByTagName('date')[0].firstChild.nodeValue;

var price=elements[i].getElementsByTagName('price')[0].firstChild.nodeValue;

str+= 'trtd'+id+'/tdtd'+name+'/tdtd'+date+'/tdtd'+price+'/td/tr';

}

document.getElementById('table2').innerHTML=str;

}

};

xhr.send(null);

}

/script

button onclick="check();"点我/button

table id="table2" border="2" cellspacing="0"

/table

/body

/html

效果

1

2

补充:

使用JSON

1数据库查询,自己拼 JSON 编码

?php

$dsn="mysql:host=localhost;dbname=test";

try {

$pdo = new PDO($dsn,'root','password'); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query="select * from book";   //定义SQL语句

$pdo-query('set names utf8');

$result=$pdo-prepare($query); //准备查询语句

$result-execute();       //执行查询语句,并返回结果集

$a=$arr='';

while($res=$result-fetch()){

$arr.='{"id":'.'"'.$res[0].'",'.'"name":'.'"'.$res[1].'",'.'"time":'.'"'.$res[2].'",'.'"jia":'.'"'.$res[3].'",'.'"zhe":'.'"'.$res[4].'",'.'"chu":'.'"'.$res[5].'"},';

}

echo $a="[".substr($arr,0,strlen($arr)-1)."]";

} catch (PDOException $e) {

die ("Error!: ".$e-getMessage()."br");

}

?

2数据库查询,函数 JSON 编码

?php

$dsn="mysql:host=localhost;dbname=test";

try {

$pdo = new PDO($dsn,'root','password'); //初始化一个PDO对象,就是创建了数据库连接对象$pdo

$query="select * from book";   //定义SQL语句

$pdo-query('set names utf8');

$result=$pdo-prepare($query); //准备查询语句

$result-execute();       //执行查询语句,并返回结果集

$res=$result-fetchAll();

//JSON 编码

echo json_encode($res);

} catch (PDOException $e) {

die ("Error!: ".$e-getMessage()."br/");

}

?

效果

3ajax获取,JSON解析

!DOCTYPE html

html lang="en"

head

meta charset="UTF-8"

titleJSON/title

/head

body

script

function check() {

var XHR = new XMLHttpRequest();

XHR.open('GET','JSON.php');

XHR.onreadystatechange = function (){

if(XHR.readyState == 4 XHR.status ==200){

var books =JSON .parse(XHR.responseText);

var books2='trthid/ththbookname/ththtime/ththprice/ththmarker/ththpublisher/th/tr'

for (var i=0;ibooks.length;i++){

books2+= 'trtd'+(books[i ].id)+'/tdtd'+(books[i ].name)+'/tdtd'+(books[i ].time)+'/tdtd'+(books[i ].jia)+'/tdtd'+(books[i ].zhe)+'/tdtd'+(books[i ].chu)+'/td/tr';

}

document.getElementById('table2').innerHTML=books2;

}

};

XHR.send(null);

}

/script

input type="button" value="点我" onclick="check();"

table id="table2" border="2" cellspacing="0"/table

/body

/html

怎么用php提取xml文件内容

创建一个以.xml结尾的文档

内容如下:

?xml version="1.0" encoding="utf-8"?

class

student info="美女"

name小乔/name

sex女/sex

age20/age

/student

student

name周瑜/name

sex男/sex

age25/age

/student

student

namehsy/name

sex男/sex

age21/age

/student

/class

创建以.php结尾的文件:代码如下:

?php

header('content-type:text/html;charset=utf-8');

//1、创建一个DOMDocument对象。该对象就表示 xml文件

$xmldoc = new DOMDocument();

//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)

$xmldoc-load("class.xml");

//3、目标:获取第一个学生的名字

$stu = $xmldoc-getElementsByTagName("name");//直接找到节点name

$stu1 = $stu-item(0);// item(1)时,可以取到周瑜

$sex=$xmldoc-getElementsByTagName("sex");

$sex1= $sex-item(0);

echo $sex1-nodeValue;

echo $stu1-nodeValue;

?

结果显示为:女小乔

php 怎样查看返回的xml数据

php返回xml,首先封装好xml数据格式,然后return即可。示例如下:

?php

//name

$name="zhidao";

//age

$age=10;

//构造xml数据格式

$xml = XML

?xml version="1.0" encoding="utf-8"?

baidu

name {$name} /name

age{$age}/age

/baidu

XML;

return $xml;

?

PHP获取XML指定的值

xml 通常要求遵循严格的格式,你上面的并不完善。 通常对 xml 解析,如果格式不标准不规范的话,可以直接使用 php 里的字符串处理函数来进行。 例如,对于上面的要求提示指定的值,可以使用正则表达式函数来获取。

php 如何获取XML 并转成2维数组

?php

/**

* 功能:解析xml数据转换成二维数组

*

* @param string $dataXml

* @return array

*/

public static function getXmlData ( $strXml ) {

$pos = strpos($strXml, 'xml');

if ($pos) {

$xmlCode =simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);

$arrayCode=self::get_object_vars_final($xmlCode);

return $arrayCode ;

} else {

return '';

}

}

?

php 获取xml某个节点的所有内容

php是可以读取读取xml文件的。同时也可以遍历节点。网上有很多方法。你可以百度下。这里给你贴代码的话有很多代码。

举例: 有个名字为a.xml的文件 。内容为:

?xml version=”1.0″ encoding=”gb2312″?

xml

list111/list

list2222/list

list3333/list

/xml

读取:

?php

$xml = new DOMDocument();

$xml-load('a.xml');

foreach($xml-getElementsByTagName('list') as $list)

{

$value = $list-firstChild-nodeValue;

echo $value.”br /”;

}

?

输出为:111

222

333


文章名称:php获取xml数据 php解析xml文件
分享地址:http://cdweb.net/article/hhhcgc.html