这是我需要访问其元素的示例xml。 在此示例中,我需要执行一个循环以添加另一个->以移动到另一个元素。我将从XML中获取值,而不生成XML
<Person>
<Address>
<State>
<Code>101</Code>
</State>
</Address>
</Person>
<Person>
<Address>
<State>
<Code>101</Code>
</State>
<Phone> 123456789</Phone>
</Address>
</Person>
代码:
for($i=0; $i< count(Person); $i++)
{
$element .= '->{<<element>>['.$i.']}';
}
//output would something be like an element to get data from XML: `
$person->{'Address'}->{'State'}->{'Code'};`
答案 0 :(得分:0)
我认为您可能想使用SimpleXML。
循环中的$item
类型为SimpleXMLElement,您可以从中获得$item->Address->State->Code
之类的属性
$data = <<<DATA
<Persons>
<Person>
<Address>
<State>
<Code>101</Code>
</State>
</Address>
</Person>
<Person>
<Address>
<State>
<Code>101</Code>
</State>
<Phone> 123456789</Phone>
</Address>
</Person>
</Persons>
DATA;
$items = simplexml_load_string($data);
foreach ($items as $item) {
echo $item->Address->State->Code;
}
如果要使用for循环和计数器,则可以使用:
$items = simplexml_load_string($data);
$count = count($items->Person);
for ($i = 0; $i < $count; $i++) {
echo $items->Person[$i]->Address->State->Code;
}