Ну, при условии, что вы хотите получить результат
array(
1 => array(
'Value 1',
'Value 2',
)
)
И при условии, что структура
<root>
<Data>
<!-- key and column entities -->
</Data>
<Data>
<!-- key and column entities -->
</Data>
<Data>
<!-- key and column entities -->
</Data>
</root>
Вы можете сделать что-то вроде (я предпочитаю DomDocument ):
$dom = new DomDocument();
$dom->loadXml($xmlString);
$dataElements = $dom->getElementsByTagName('Data');
$array = array();
foreach ($dataElements as $element) {
$subarray = array();
foreach ($element->childNodes as $node) {
if (!$node instanceof DomElement) {
continue;
}
$key = $node->tagName;
$value = $node->textContent;
$subarray[$key] = $value;
}
$array[] = $subarray;
}
С этим редактированием оно превратится:
<root>
<Data>
<Key>4</Key>
<Foo>Bar</Foo>
</Data>
<Data>
<Key>6</Key>
<Bar>Baz</Bar>
</Data>
</root>
В:
array(
array(
'Key' => 4,
'Foo' => 'Bar',
),
array(
'Key' => 6,
'Bar' => 'Baz',
),
)