有一个XML,例如:<?xml version="1.0" encoding="utf-8"?>
<top>
<middle>
<bottom>
<value1>8000</value1>
<value2>8001</value2>
<value3>8002</value3>
</bottom>
</middle>
</top>我想先找到middle,打印情况类似于:
bottom:
value1:8000
value2:8001
value3:8002
我用的是DOM解析代码如下:$mid=$xml2->getElementsByTagName("middle")->item(0);
foreach($mid->childNodes as $v1){
echo $v1->tagName;
foreach($v1->childNodes as $c2){
echo $c2->tagName;
echo $c2->nodeValue;
}
}可以打印出来,但是会出现警告,在foreach那一行,说是参数问题,请问要怎么做呢
<top>
<middle>
<bottom>
<value1>8000</value1>
<value2>8001</value2>
<value3>8002</value3>
</bottom>
</middle>
</top>我想先找到middle,打印情况类似于:
bottom:
value1:8000
value2:8001
value3:8002
我用的是DOM解析代码如下:$mid=$xml2->getElementsByTagName("middle")->item(0);
foreach($mid->childNodes as $v1){
echo $v1->tagName;
foreach($v1->childNodes as $c2){
echo $c2->tagName;
echo $c2->nodeValue;
}
}可以打印出来,但是会出现警告,在foreach那一行,说是参数问题,请问要怎么做呢
建议你用simplexml来解析 xml文件,转换为数组,这样处理起来很方便!
foreach($mid->childNodes as $v1){
echo $v1->tagName;
if($v1->childNodes){
foreach($v1->childNodes as $c2){
echo $c2->tagName;
echo $c2->nodeValue;
}
}
}
echo $c2->tagName;
echo ":";
echo $c2->nodeValue;
echo "<br/>";
}
为什么会多出现一个:呢
<bottom>
<value1>8000</value1>
<value2>8001</value2>
<value3>8002</value3>
</bottom>
四个换行,不是输出四队 : 吗?