Если вопрос ещё актуален (решения ниже мне кажутся ужасными, но решать вам), приведите плз пример входного xml и соответствующего выходного html.
Таблица на картинке (http://habreffect.ru/39a/d9dd2bacd/s1.png) явно получена не из xml в тексте вопроса.
Первый плох из-за того, что можно легко допустить ошибку и получить неправильно сформированный html, вёрстка может поехать, причём по-разному в разных браузерах. В принципе формировать структуру документа таким образом (<tr> и disable-output-escaping), имхо, недопустимо.
Второй вариант смешивает данные и представление. Почему входные данные должны зависеть от требуемой структуры выходного документа? Хотя, вполне возможно, дополнительные ноды — самый простой выход, но точно «не тру».
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Таблица на картинке (http://habreffect.ru/39a/d9dd2bacd/s1.png) явно получена не из xml в тексте вопроса.