我对我的xml文件进行了查询。我现在想将结果(ids)保存到json文件中。
问题是我得到的结果是:
"用户": { "0": "迈克尔" }
但我需要:
"用户": "迈克尔"
我使用的代码是:
$ids = [];
$idAttributes = $xmlfile->xpath("myquery...");
foreach ($idAttributes as $idAttribute) {
$ids[] = $idAttribute[0];
}
print_r("My output : " . $ids[0]);
$user1 = $ids[0];
$user2 = $ids[1];
$user3 = $ids[2];
我也尝试了$idAttribute>值。只获取我可以保存的名称,然后保存到我的 json。但我只得到空...当我打印 id 时。我以正确的方式得到它,例如"汤姆"。我怎么能只将其保存为"汤姆"而不是"用户": { "0": "迈克尔" } ?
更新
IDs var_dump:
string(14) "The IDS: Array" string(19) "
ID i : " string(14) "The IDS: Array" string(19) "
ID i : " string(14) "The IDS: Array" string(19) "
ID i : "
My output : Bill
字符串将值转换为(string) $idAttribute[0];
:
$ids = [];
$idAttributes = $xmlfile->xpath("myquery...");
foreach ($idAttributes as $idAttribute) {
$ids[] = (string) $idAttribute[0];
}
print_r("My output : " . $ids[0]);
$user1 = $ids[0];
$user2 = $ids[1];
$user3 = $ids[2];
SimpleXML 中的每个节点都是一个对象。它有一个__toString方法将其转换为字符串。
如果你对该对象使用 print
/echo
:它还显示"字符串"值,而不是当前的真实状态,作为一个对象。使用print_r
或var_dump
正确查看它。