帮偶看下。。谢谢
[PHP] class ParseXml {
var $_Tag = '';
var $_Cfg = array();
var $_Prefix = '';
function Start($Parse, $Name, $Attr) {
$this->_Tag = (empty($Attr)) ? $Name : '';
}
function End($Parse, $Name) {
$_Tag = '';
}
function SaveData($Hp, $Data) {
$Data = trim($Data);
if ($this->_Tag == 'Prefix') $this->_Prefix = $Data;
if (!empty($Data))
if (empty($this->_Tag))
$this->_Cfg[$Data] = $this->_Prefix.$Data;
else
$this->_Cfg[$this->_Tag] = $Data;
}
function ParseXml($sFile) {
$Parser = xml_parser_create();
xml_set_element_handler($Parser, "Start", "End");
xml_set_character_data_handler($Parser, "SaveData");
xml_parser_set_option($Parser, XML_OPTION_CASE_FOLDING, 0);
($fp = fopen($sFile, "r")) || die("Cannot open file...");
$RData = fread($fp, filesize($sFile));
xml_parse($Parser, $RData);
fclose($fp);
xml_parser_free($Parser);
}
}
$ParseObj = new ParseXml("X:\\Classes\\ConnectString.xml");
var_dump($ParseObj->_Cfg);[/PHP]