欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎样输出XML所有的同名节点内容?

程序员文章站 2022-05-05 15:34:55
...
现有的PHP代码输出XML节点时,只能输出第一个同名节点内容"100". 请问怎样才能输出所有节点的内容呢?

现有代码:
/* $xmlstring 原内容:


-
id*cn
100
101
102
103
105

*/

$xmldoc = new DOMDocument();
$xmldoc->loadXML($xmlstring);
$users = $xmldoc->getElementsByTagName('GetUserInfo');
foreach ($users as $user) {

$html .= 'outputCustomer:'.get_txt($user,'Customer').'
'; $html .= 'outputGeo:'.get_txt($user,'GeocallCLI').'
';

}
echo $html;

function get_txt($parent, $name) {

$nodes = $parent->getElementsByTagName($name);
return $nodes->item(0)->nodeValue;

}
?>

另问怎样只输出 idcn节点中号前面部份, 即 id 而不是 id*cn

回复内容:

现有的PHP代码输出XML节点时,只能输出第一个同名节点内容"100". 请问怎样才能输出所有节点的内容呢?

现有代码:
/* $xmlstring 原内容:


-
id*cn
100
101
102
103
105

*/

$xmldoc = new DOMDocument();
$xmldoc->loadXML($xmlstring);
$users = $xmldoc->getElementsByTagName('GetUserInfo');
foreach ($users as $user) {

$html .= 'outputCustomer:'.get_txt($user,'Customer').'
'; $html .= 'outputGeo:'.get_txt($user,'GeocallCLI').'
';

}
echo $html;

function get_txt($parent, $name) {

$nodes = $parent->getElementsByTagName($name);
return $nodes->item(0)->nodeValue;

}
?>

另问怎样只输出 idcn节点中号前面部份, 即 id 而不是 id*cn

自己顶上, 哪位大侠能解答下么
我顶

相关标签: php xml