【发布时间】:2018-02-13 06:19:15
【问题描述】:
我在文件中有以下 XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<conjunctiva>
<od>
<conjnctivalchlais examname="Conjunctival Chalasis">
<negative elem_name="elem_ConjnctivalOd_neg">ASDFGH</negative>
<positive elem_name="elem_ConjnctivalOd_Pos"/>
<pos_4 elem_name="elem_ConjnctivalOd_pos4"/>
<pos_3 elem_name="elem_ConjnctivalOd_pos3"/>
<pos_2 elem_name="elem_ConjnctivalOd_pos2"/>
<pos_1 elem_name="elem_ConjnctivalOd_pos1"/>
<t elem_name="elem_ConjnctivalOd_T"/>
</conjnctivalchlais>
</od>
</conjunctiva>
我正在使用以下代码来解析 xml:
$csvFileName = "con2.xml";
$conjunctiva = simplexml_load_file($csvFileName);
foreach($conjunctiva->od as $od){
if(gettype($od) == "object"){
$keys = get_object_vars($od);
$keys2 = array_keys($keys);
for($i = 0;$i < sizeof($keys2);$i++){
if(gettype($keys[$keys2[$i]]) == "object"){
$keys3 = get_object_vars($keys[$keys2[$i]]);
$keys4 = array_keys($keys3);
for($j = 0;$j < sizeof($keys4);$j++){
if(gettype($keys3[$keys4[$j]]) == "object"){
}else if(gettype($keys3[$keys4[$j]]) == "string"){
}else if(gettype($keys3[$keys4[$j]]) == "array"){
}
}
}
}
}
}
我想将 XML 放入数组中,属性值作为键,节点值作为值。但它不起作用。
【问题讨论】:
-
你已经在使用
simpleXML,请使用->attributes()等正确方法,参考手册php.net/manual/en/book.simplexml.php -
你到底想完成什么?你想把 xml 值变成数组吗?
标签: php xml xml-parsing