demo.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>   
<root>   
  <name value="23">11111</name>     
 <pro>   
  <proId>1</proId>     
  <proId>2</proId>     
  <proId>3</proId>     
</pro>   
<pro>   
  <proId>11</proId>     
  <proId>22</proId>     
  <proId>33</proId>     
  </pro>   
</root>解析xml节点代码如下:
<?php    
  
//首先要建一个DOMDocument对象    
$xml=new DOMDocument('1.0','UTF-8');     
//加载Xml文件     
$xml->load('demo.xml');     
$name=$xml->getElementsByTagName("name");     
$name = $name->item(0)->nodeValue;    
   
$result = array();    
$proList = array();    
$pro=$xml->getElementsByTagName("pro");     
foreach($pro as $p){    
    $proId=$p->getElementsByTagName("proId");     
    $i=0;    
    foreach($proId as $v){    
            
        $id = $v->nodeValue;    
        //$proList[$i]=$id;    
        $proList[$i]=$id;    
        $i++;           
    }    
    array_push($result,$proList);    
}    
print_r($result);    
   
报错:Warning: DOMDocument::load() [domdocument.load]: XML declaration allowed only at the start of the document in file:///D:/Program%20Files/Apache%20Software%20Foundation/Apache2.2/htdocs/MyPhpWeb/demo.xml, line: 2 in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MyPhpWeb\readxml.php on line 7
Array ( )

不知道为什么会 报这个错 忘高手解答! thanks
   
?> 

解决方案 »

  1.   

    Warning: DOMDocument::load() [domdocument.load]: XML declaration allowed only at the start of the document in file:///D:/Program%20Files/Apache%20Software%20Foundation/Apache2.2/htdocs/MyPhpWeb/demo.xml, line: 2 in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\MyPhpWeb\readxml.php on line 7
    Array ( )
    这个报错的信息!
      

  2.   

    只能在文档开头声明 XML 你文件那里貌似已经是第七行了....
      

  3.   

    是这文件的 readxml.php 的第 7 行
      

  4.   

    代码本身无问题,输出
    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => 2
                [2] => 3
            )
     
        [1] => Array
            (
                [0] => 11
                [1] => 22
                [2] => 33
            )
     
    )
    可能是路径名或权限引起的问题
      

  5.   

    我这怎么没错呢!!!代码都一样<?php 
    $xml = new DOMDocument('1.0','gbk');  
    $xml->load('demo.xml');
    $name = $xml->getElementsByTagName("name");
    $name = $name->item(0)->nodeValue;$result = $proList = array();
    $pro = $xml->getElementsByTagName("pro");
    foreach($pro as $p){
        $proId = $p->getElementsByTagName("proId");
        $i = 0;
        foreach($proId as $v){
            $id = $v->nodeValue;  
            $proList[$i] = $id;
            $i++;
        }
        array_push($result,$proList);
    }
    print_r($result);
    ?> 
    //Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 11 [1] => 22 [2] => 33 ) )
      

  6.   

    你用的是什么浏览器?
    把代码内的这句$name = $name->item(0)->nodeValue; 改成
    $name = $name->firstChild->nodeValue; 试试看
      

  7.   

    xml文件和php文件都放在同一个目录下  我没有建文件夹! 如果是权限问题怎么设置呢 高手!
      

  8.   

    <pro title='aaaaaaa'>    
      <proId>1</proId>     
      <proId>2</proId>     
      <proId>3</proId>     
    </pro>如何获取title