php讀取xml有關問題

來源:互聯網
上載者:User
php讀取xml問題
在網上下了個例子,代碼如下但是運行卻沒有顯示,只顯示了 "名字: "後面就什麼也沒有了,是不是哪裡還需要配置一下呀,請大家幫忙解決!!
$parser = xml_parser_create(); //建立一個parser編輯器
xml_set_element_handler($parser, "startElement ", "endElement ");//設立標籤觸發時的相應函數 這裡分別為startElement和endElenment
xml_set_character_data_handler($parser, "characterData ");//設立資料讀取時的相應函數
$xml_file= "1.xml ";//指定所要讀取的xml檔案,可以是url
$filehandler = fopen($xml_file, "r ");//開啟檔案




while ($data = fread($filehandler, 4096))
{
xml_parse($parser, $data, feof($filehandler));
}//每次取出4096個位元組進行處理

fclose($filehandler);
xml_parser_free($parser);//關閉和釋放parser解析器


$name=false;
$position=false;
function startElement($parser_instance, $element_name, $attrs) //起始標籤事件的函數
{
global $name,$position;
if($element_name== "NAME ")
{
$name=true;
$position=false;
echo "名字: ";
}
if($element_name== "POSITION ")
{$name=false;
$position=true;
echo "職位: ";
}
}

function characterData($parser_instance, $xml_data) //讀取資料時的函數
{
global $name,$position;
if($position)
echo $xml_data. "
";
if($name)
echo $xml_data. "
";
}

function endElement($parser_instance, $element_name) //結束標籤事件的函數
{
global $name,$position;
$name=false;
$position=false;
}

?>



xml檔案代碼如下:







張三
經理



李四
助理





------解決方案--------------------
有個加過密的xml類,可以把任何xml讀成數組的,裡面也是用PHP內建函數實現的。要發給你
------解決方案--------------------
估摸著你的XML是GB2312編碼的,XML預設是UTF-8的。你把你的XML檔案改成UTF8的試試。
------解決方案--------------------
源檔案是對的,在PHP4下面測試是正確的
------解決方案--------------------
編碼是utf-8的。不知在gb2312環境有沒影響
------解決方案--------------------
當然有影響,如果是utf-8的,你想用在gb2312下,最好轉碼
------解決方案--------------------
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.