我有一个非常复杂的XML文件(在我看来)。它包含多个名称空间(前缀),我试图将其转换为对象。
所以一开始我们使用这个功能
simplexml_load_file("file.xml");
file.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<animal:race>
<animal:dog>
<specification:color>Black</specification>
</animal:dog>
<animal:cat>
<animal:name>Flappie</animal:name>
</animal:cat>
</animal:race>
首先,该函数返回一个空对象。 然后我们发现你必须指定这样的前缀:
simplexml_load_file("file.xml",null,null,"animal");
这返回了一个对象,但没有所有其他前缀,如:specification。 所以对象变成:(作为数组输出
object(animal:race)#1 (2) {
["dog"]=> object(SimpleXMLElement)#2 (0) {
}
["cat"]=> object(SimpleXMLElement)#2 (1) {
[animal:name] => string "flappie"
}
}
所以我的结论是,我们需要将“其他名称空间”“包含”到......导致规范未显示。