(使用PHP语言)Simple_XML中如果对中文结点进行解析?

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:07:12
比如说我现在有个XML片段如下:
<monster>
<xiyou:姓名 type='text'>孙悟空</xiyou:姓名>
<xiyou:技能 type='text'>火眼金睛</xiyou:技能>
<xiyou:年龄 type='text'>638</xiyou:年龄>
</monster>
想要用Simple_XML 处理,因为比较简单,
但是因为monster下的中文节点无法处理:
使用: echo $detail->姓名;显示空白。
哪位前辈能好心指点下,谢谢了!

$str = <<<TEST
<monster xmlns:xiyou="http://www.w3.org/2001/XMLSchema">
<xiyou:姓名 type='text'>孙悟空</xiyou:姓名>
<xiyou:技能 type='text'>火眼金睛</xiyou:技能>
<xiyou:年龄 type='text'>638 </xiyou:年龄>
</monster>
TEST;
$xml = simplexml_load_string($str, NULL, 0, 'xiyou', true);
echo $xml->姓名;

其实可以用php把xml生成数组然后在处理.
<?php
/*
程序:get_xml_array.php
作用:将xml数据生成数组,数组格式:标签名=>值。
时间:2009-3-20
*/
//定义一个将xml标签对应值对象
class AminoAcid {

function AminoAcid ($aa)
{
foreach ($aa as $k=>$v){
$this->$k = $aa[$k];
}
}
}
/*
函数readDarabase
参数:
$file:文件路径。
$tree:根据此生成循环数组的xml标签
*/
function readDatabase($file,$tree)
{
$