❶ php读取xml的foreach问题
你好,解决方案:
发现你的逻辑没有分析清楚,一下是参考代码:
$roots = $doc->getElementsByTagName( "root" );
foreach($roots as $p=>$root){
$pros = $root->getElementsByTagName('province');
foreach ($pros as $c=>$pro) {
//$c 决定着几个省
echo $pro_name = $pros->item($c)->attributes->item(0)->nodeValue;
$citys = $pro->getElementsByTagName('city');
foreach($citys as $key=>$city){
//$key 决定着几个市
echo $city_name = $citys->item($key)->attributes->item(0)->nodeValue;
$dis = $city->getElementsByTagName('district');
foreach($dis as $d=>$district){
//$d 决定着几个区
echo $dis->item($d)->attributes->item(0)->nodeValue;
}
}
}
}
希望对你有所帮助!!
❷ PHP读取xml文件
以前做过联通或电信的service订购接口,收到的内容就是XML的,需要用到PHP的XML处理功能,你的代码可以这样:
<xmp>
<?php
$string=file_get_contents("http://www.orderjiaju.com/zixun/data/rss/3.xml");
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;$i<3;$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>
回答补充:
现在你直接,然后执行没效果吗?
我这里是可以的呢,测试网址是:service.020i.net/test_xml.php
❸ php 从数据库里面读取数据后怎么写成xml传输
用PHP读取数据库中的数据 - >输出XML文档 - >在Flash中加载XML
❹ php解析xml问题
<?php
$xml='...xml数据此略...';
$eid='31037010'; //这是要查找的equip_id
$dom=new DOMDocument('1.0','utf-8');
@$dom->loadXML($xml);
$eids=$dom->getElementsByTagName('equip_id');
foreach($eids as $v){
if($v->nodeValue==$eid){
do{
if($v->nodeType==1){
$name=$v->tagName; //同级标签名
$text=$v->nodeValue; //同级标签值
print_r($name.'='.$text.'<br />');
}
}while($v=$v->nextSibling);
}
}
?>