難道csdn上沒有人會用嗎?真難相信!

解决方案 »

  1.   

    你的意思是把xml文件中的数据,通过php显示出来嘛!!
      

  2.   

    是的,我要用二個變量得到code 和 svName的值 ,值分別有 "2222" and "test" 謝謝!
      

  3.   

    去www.phpclasses.org查找phpxml
    用这个类可以很轻松的得到你要的东西phpxml的原理是Xpath。
      

  4.   

    正好最近在搞XML,拷贝一些我的代码给你,其实你也可以不用象我这样用CLASS,只要这几句就可以将XML文件读到数组中了.用PRINT_R看看结果你就会了.
        $data = implode("",file($filename));
        $parser = xml_parser_create();
        xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
        xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
        xml_parse_into_struct($parser,$data,$values,$tags);
        xml_parser_free($parser);--------------------------------------------------------------
    class XMLBalanceRecord {
        var $PartNo;
        var $Supplier;
        var $Plant;  
        var $INVBalance;
        var $QuarBalance;
    var $CTB1;
    var $CTB2;
        
        function  XMLBalanceRecord($aa) {
            foreach ($aa as $k=>$v)
                $this->$k = $aa[$k];
        }
    }function readXML($filename,$XMLType) {
        $data = implode("",file($filename));
        $parser = xml_parser_create();
        xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
        xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
        xml_parse_into_struct($parser,$data,$values,$tags);
        xml_parser_free($parser);    // loop through the structures
        foreach ($tags as $key=>$val) {
            if ($key == "QueryRecords") {
                $QueryRecords = $val;
                // each contiguous pair of array entries are the 
                // lower and upper range for each QueryRecords definition
                for ($i=0; $i < count($QueryRecords); $i+=2) {
                    $offset = $QueryRecords[$i] + 1;
                    $len = $QueryRecords[$i + 1] - $offset;
    switch ($XMLType) {
    case 'BALANCE' : 
                    $tdb[] = parseBalance(array_slice($values, $offset, $len));
    break;
    }            }
            } else {
                continue;
            }
        }
        return $tdb;
    }function parseBalance($mvalues) {
        for ($i=0; $i < count($mvalues); $i++)
            $qr[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
        return new XMLBalanceRecord($qr);
    }XML格式如下:
    <?xml version="1.0"?>
    <EWareHouse><QueryRecords>
    <PARTNO>1W1H19D8        </PARTNO>
    <SUPPLIER>KEY       </SUPPLIER>
    <PLANT>MARK        </PLANT>
    <INVBALANCE>104</INVBALANCE>
    <QUARBALANCE>54</QUARBALANCE>
    <CTB1>0</CTB1>
    <CTB2>0</CTB2>
    </QueryRecords></EWareHouse>
      

  5.   


    http://expert.csdn.net/Expert/topic/1597/1597294.xml?temp=.5749933