У вас есть XML-документ и CSS для стилизации.
Итак, вопрос в том, какой у вас формат вывода? Я мог только догадываться, что это должен быть HTML - но возможны и другие, такие как PDF (требуется XML-FO ).
Итак, вы пытаетесь не стилизовать XML - это преобразовать XML в HTML и применить к этому выводу таблицу стилей (HTML).
Лучший способ сделать это - использовать XSLT , потому что этот «язык» должен быть дополнительно разработан для преобразования xml. Но сделать это можно с помощью какого-то кода, подобного вашему.
Другое решение может заключаться в использовании замен регулярных выражений ...
Но последнее, но не менее важное, я думаю, вы забыли включить таблицу стилей в свой результат, например:
<link rel="stylesheet" type="text/css" media="all" href="layout.css" />