我遇到这样的一个问题,请大家帮我吧
有一个XML文件,这个文件格式比其它XML不太一样。<?xml version="1.0" encoding="GB2312"?>
<allproducts version="1.0">
<products>
<product name="xxx" value="xxx"/>
                  <product name="xxx" value="xxx"/>
                 <product name="xxx" value="xxx"/>
</products>
</allproducts>是这样写的,我在网上找了好多代码,可那些代码不能获取这种格式的XML值。
网上的那些代码只能获取<xxx>xxx</xxx>这种格式的XML值。
不过<product name="xxx" value="xxx"/>这种格式实在获取不了值了以下是我用的PHP代码:
<?php 
#mysql_select_db($database_lr, $lr); 
$xml_array=simplexml_load_file('note.xml'); //将XML中的数据,读取到数组对象中 
$i=0; 
foreach($xml_array as $product){ 
$i++; 
 echo $product->prodId."<br>"; // 
 

echo $i."条记录导入完成"; 
?>以上的PHP代码只能获取数据数量,获取不了值。请大家帮忙!!!!

解决方案 »

  1.   

    试试这个:$xml_array=simplexml_load_file('note.xml'); //将XML中的数据,读取到数组对象中
     
    $i=0; 
    foreach($xml_array as $products){ 
    $i++;
    foreach($products as $product)
    {
    echo "name: ".$product['name']."<br>";
    echo "value: ".$product['value']."<br>";
    }
     
    // 
     

    echo $i."条记录导入完成";
      

  2.   

    奇怪
    在这个结构中你读不出 name 和 value 吗?
    SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [version] => 1.0
            )    [products] => SimpleXMLElement Object
            (
                [product] => Array
                    (
                        [0] => SimpleXMLElement Object
                            (
                                [@attributes] => Array
                                    (
                                        [name] => xxx
                                        [value] => xxx
                                    )                        )                    [1] => SimpleXMLElement Object
                            (
                                [@attributes] => Array
                                    (
                                        [name] => xxx
                                        [value] => xxx
                                    )                        )                    [2] => SimpleXMLElement Object
                            (
                                [@attributes] => Array
                                    (
                                        [name] => xxx
                                        [value] => xxx
                                    )                        )                )        ))
      

  3.   

    你的代码应该能读取到值得啊、、、simplexml_load_file 方法是对的。、、
      

  4.   


    非常感谢您!!
    这个代码确实很伟大呀  终于获取了内容。可是调用一个echo "value: ".$product['value']."<br>";
    就它获取所有的内容,是不是我太笨不知道怎么分开导入数据库了。
    我获取这些数据的目的分开导入数据库的 一下子获取所有的内容其实挺好的 不过保存麻烦了