我有这样的XML:
<?xml version="1.0"?>
<configdata>
<data>
<data_name lang="en">Some name4</data_name>
</data>
</configdata>
对于解析,我使用Zend_Config_Xml:
$config = new Zend_Config_Xml($dir.$file,'data');
然后我将数据转换为数组:
print_r($config->toArray());
但结果我没有看到标签 data_name 的价值,我只看到属性 lang 。 如何从标签中获取价值?是否可能或者我应该解析XML文件在PHP上使用DOMXML。
答案 0 :(得分:0)
我测试了你的代码,事实上,我无法得到'Some name4'。在对http://framework.zend.com/manual/en/zend.config.adapters.xml.html进行一些阅读后,您似乎无法轻松混合属性和标签。所以,如果你要同时获得语言和名称:我制作了这个XML:
<?xml version="1.0"?> <configdata>
<data>
<data_name>
<name>Some name4</name>
<lang>en</lang>
</data_name>
</data> </configdata>
只有在存在特定语言时才需要值“Some name4”,您可以使用此XML:
<?xml version="1.0"?> <configdata> <data> <data_name> <en> <name>Some name4</name> </en> </data_name> </data> </configdata>
我认为我更喜欢第一个XML,因为它的通用标签。