我有一个XML文档,我正在使用SimpleXMLElement来像PHP一样解析它:
<Document>
<Hello>
<Name>Jason</Name>
</Hello>
</Document>
访问加载我的XML的名称的示例,然后我这样做:
$xml->Document->Hello->Name
我想将所有这些路线存储在类似的关联数组中
$array = [
"Document->Hello->Name" => "name"
];
问题是当我在该数组上循环时,我的字段为空 我这样做:
foreach($array as $key => $v)
{
$hereIsempty = $xml->$key
}
有人可以从我的数组映射plz中获得我想要的值吗?
答案 0 :(得分:0)
在一个密钥中存储完整的路由路径是一个坏主意。 如果您事先知道路径的含义:请将标签名称设置为const value,然后使用它。
但是,如果您确实需要将路径另存为数组中的键,则可以将第一个子数组中的所有标签分开,并将需求值设置为数组的第二个元素;像这样的东西:
$needs = [];
$routes = [
[
'tags' => ['Document', 'Hello'],
'need' => 'Name'
]
];
foreach ($routes as $route) {
tempXml = $xml;
foreach ($route['tags'] as $tag) {
$tempXml = $tempXml->{$tag};
}
$need[] = (string)$tempXml->{$route['need']};
}