Вы можете использовать simpleXML с выражением XPath.
$xml = simplexml_load_file('myFile.xml');
$values = $xml->xpath('//td[@name]');
foreach($values as $v) {
echo "Found $v<br />";
}
Это даст вам все значения узлов TD, которые имеют атрибут name, например,
Found 10/01/2009
Found Sample Promo Name
Found Sample Promo Code
Found <nothing cuz PromoLevel is empty>
Редактировать Чтобы пройти через все строки таблицы, вы можете сделать что-то вроде этого:
$rows = $xml->xpath('//tr');
foreach($rows as $row) {
echo $row['id'];
foreach($row->td as $td) {
if($td['name']) {
echo $td['name'],':',$td,'<br/>',PHP_EOL;
}
}
}
Возможно, вы захотите взглянуть на эту статью .
Редактировать Исправлено выражение XPath, как предложил Джош.