欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php读取xml有关问题

程序员文章站 2024-01-21 19:32:40
...
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下,最好转码
------解决方案--------------------
php读取xml有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频