用php读取xml数据,xml和php

PHP读取xml文件

以前做过联通或电信的service订购接口,收到的内容就是XML的,需要用到PHP的XML处理功能,你的代码可以这样:

创新互联公司为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都做网站、网站建设、外贸营销网站建设, 我们的网页设计师为您提供的解决方案。

xmp

?php

$string=file_get_contents("");

if($string!=""):

$xml = new DomDocument('1.0');

$xml-loadXML($string);

//班台

$BanTai=array(

'Title'=$xml-getElementsByTagName('channel')-item(0)-childNodes-item(1)-nodeValue,

'Link' =$xml-getElementsByTagName('channel')-item(0)-childNodes-item(3)-nodeValue

);

for($i=0;$i3;$i++)

{

$Title[]=array(

'Title'=$xml-getElementsByTagName('item')-item($i)-childNodes-item(1)-nodeValue,

'Link' =$xml-getElementsByTagName('item')-item($i)-childNodes-item(3)-nodeValue

);

}

print_r($BanTai);

print_r($Title);

endif;

?

/xmp

回答补充:

现在你直接copy,然后执行没效果吗?

我这里是可以的呢,测试网址是:service.020i.net/test_xml.php

php 读取xml 用哪种方法好

1、首先我们做一个简单的xml文件

?xml version="1.0 encoding="UTF-8"?humanszhangyingname张映/namesex男/sexold28/old/zhangyingtanknametank/namesex男/sexold28/old/tank/humans

2、

php读取xml的几种方法:

1)DOMDocument读取xml

?php $doc = new DOMDocument(); $doc-load('person.xml'); //读取xml文件 $humans = $doc-getElementsByTagName( "humans" ); //取得humans标签的对象数组 foreach( $humans as $human ) { $names = $human-getElementsByTagName( "name" ); //取得name的标签的对象数组 $name = $names-item(0)-nodeValue; //取得node中的值,如name /name $sexs = $human-getElementsByTagName( "sex" ); $sex = $sexs-item(0)-nodeValue; $olds = $human-getElementsByTagName( "old" ); $old = $olds-item(0)-nodeValue; echo "$name - $sex - $old\n"; } ?

2)simplexml读取xml

?php $xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中 foreach($xml_array as $tmp){ echo $tmp-name."-".$tmp-sex."-".$tmp-old."br"; } ?

3)用php正则表达式来记取数据

?php $xml = ""; $f = fopen('person.xml', 'r'); while( $data = fread( $f, 4096 ) ) { $xml .= $data; } fclose( $f ); // 上面读取数据 preg_match_all( "/\humans\(.*?)\\/humans\/s", $xml, $humans ); //匹配最外层标签里面的内容 foreach( $humans[1] as $k=$human ) { preg_match_all( "/\name\(.*?)\\/name\/", $human, $name ); //匹配出名字 preg_match_all( "/\sex\(.*?)\\/sex\/", $human, $sex ); //匹配出性别 preg_match_all( "/\old\(.*?)\\/old\/", $human, $old ); //匹配出年龄 } foreach($name[1] as $key=$val){ echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."br" ; } ?

4)xmlreader来读取xml数据

?php $reader = new XMLReader(); $reader-open('person.xml'); //读取xml数据 $i=1; while ($reader-read()) { //是否读取 if ($reader-nodeType == XMLReader::TEXT) { //判断node类型 if($i%3){ echo $reader-value; //取得node的值 }else{ echo $reader-value."br" ; } $i++; } } ?

PHP读取XML数据

编码问题,function

characterData改成如下

function

characterData($parser_instance,

$xml_data)

{

global

$name,$position;

$xml_data=iconv("utf-8","gb2312",$xml_data);//转换成gb2312

if($position)

echo

$xml_data."br";

if($name)

echo

$xml_data."br";

}

显示的那个页面也要有charset=gb2312

PHP如何取XML中数据

转成数组

?php/*** function:使用字符串方式读XML文件* author:JetWu* date:2016.12.03**/$file = './write_str.xml';$con = file_get_contents($file); //XML标签配置$xmlTag = array( 'starttime', 'endtime', 'school'); $arr = array();foreach($xmlTag as $x) { preg_match_all("/".$x.".*\/".$x."/", $con, $temp); $arr[] = $temp[0];}//去除XML标签并组装数据$data = array();foreach($arr as $key = $value) { foreach($value as $k = $v) { $a = explode($xmlTag[$key].'', $v); $v = substr($a[1], 0, strlen($a[1])-2); $data[$k][$xmlTag[$key]] = $v; }}echo 'pre';print_r($data);

PHP 获取XML数据

给个小例子:

1.直接是xml字符串

?php

$string = XML

?xml version='1.0'? 

document

titleForty What?/title

fromJoe/from

toJane/to

body

I know that's the answer -- but what's the question?

/body

/document

XML;

$xml = simplexml_load_string($string);

print_r($xml);

2. xml文件的

?php

if (file_exists('test.xml')) {

$xml = simplexml_load_file('test.xml');

print_r($xml);

} else {

exit('Failed to open test.xml.');

}

?


当前标题:用php读取xml数据,xml和php
转载来于:http://ybzwz.com/article/dseieei.html