search

Home  >  Q&A  >  body text

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

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

现有代码:
<?php
/* $xmlstring 原内容:
<?xml version="1.0"?>
<!DOCTYPE GetUserInfo>
-<GetUserInfo>
<Customer>id*cn</Customer>
<GeocallCLI>100</GeocallCLI>
<GeocallCLI>101</GeocallCLI>
<GeocallCLI>102</GeocallCLI>
<GeocallCLI>103</GeocallCLI>
<GeocallCLI>105</GeocallCLI>
</GetUserInfo>
*/

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

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

}
echo $html;

function get_txt($parent, $name) {

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

}
?>

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

PHP中文网PHP中文网2818 days ago651

reply all(1)I'll reply

  • 阿神

    阿神2017-04-10 16:48:53

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

    reply
    0
  • Cancelreply