我一直在尝试将一个XML转换回数组,但遇到了问题...如果每个XML都遵循相同的格式,那将会很简单,但实际上每个XML都不同,只有<Formula>
, formulaname和movespeed这个标签是例外。
<Formula>
<formulaname>Basic</formulaname>
<movespeed>1</movespeed>
<str>4</str>
<dex>3</dex>
<int>1</int>
<will>2</will>
</Formula>
或者
<Formula>
<formulaname>Basic</formulaname>
<movespeed>1</movespeed>
<box>4</box>
<chicken>3</chicken>
<ducks>1</ducks>
<cereal>2</cereal>
</Formula>
我尝试过以下方法:
$xml = simplexml_load_file("test.xml");
print_r($xml);
这实际上会打印
一些东西,但我无法继续甚至echo
它。
foreach($xml->text as $string) {
print_r($string);
echo 'attributes: '. $string->attributes() .'<br />';
}
没有起作用,最初是为了处理字符串
,但它们都不是字符串
...
foreach ($xml->Formula as $element) {
foreach($element as $key => $val) {
echo "{$key}: {$val}";
}
这也行不通,我需要像这样的东西才能使用来自array
的值,而不知道值被称为什么。
json_decode($json, TRUE)
函数即可满足你的需求。 - FtDRbwLXw6