<?php
$xmlString = "<?xml version=\"1.0\" encoding=\"GBK\"?><string>2</string>";
$dom = new DOMDocument('1.0','GBK');
$dom->loadXML($xmlString);
$string = $dom->getElementsByTagName('string');
echo $string->item(0)->nodeValue;
?>
正常读出来<?php
$xmlString = "<?xml version=\"1.0\" encoding=\"GBK\"?><string>2</string>><xm>3</xm>";
$dom = new DOMDocument('1.0','GBK');
$dom->loadXML($xmlString);
$string = $dom->getElementsByTagName('string');
echo $string->item(0)->nodeValue;
echo '<br>';
$string = $dom->getElementsByTagName(xm);
echo $string->item(1)->nodeValue;
?>
没有值读出来,不知何原因

解决方案 »

  1.   

    格式有问题,多了一个 >$xmlString = "<?xml version=\"1.0\" encoding=\"GBK\"?><string>2</string>><xm>3</xm>";
      

  2.   

    去掉也一样,显示错误
    Extra content at the end of the document in Entity, line: 1 in 
    ... on line 4
      

  3.   

    xml缺少根节点,第一个行是因为只有string标签,所以被认为是根节点。而第二个有2个标签,这时就没有根节点了。
    你在所有标签外再加1个节点如:$xmlString = "<?xml version=\"1.0\" encoding=\"GBK\"?><rs><string>2</string><xm>3</xm></rs>";