Я написал некоторый php-код для анализа XML-файла уже с SimpleXML, он довольно грязный, но может включать, если это поможет.
Вот как выглядит xml-файл (навигационный файл, это было сделанодействительно странно и не может быть изменено)
<root name="menutest">
<menu>
<nav name="home" path="index.php" />
<nav name="menulink1" path="link1.php">
<nav name="menulink1child1" path="menulink1childlink1.php">
<nav name="menulink1child1child1"
path="menulink1childlink1childlink1.php" />
</nav>
</nav>
<nav name="menulink2" path="link2.php">
<nav name="menulink1child2" path="menulink2childlink2.php">
<nav name="menulink2child2child2"
path="menulink2childlink2childlink2.php" />
</nav>
</nav>
<nav name="menulink3" path="link3.php">
<nav name="menulink3child3" path="menulink3childlink3.php">
<nav name="menulink3child3child3"
path="menulink3childlink3childlink3.php" />
</nav>
</nav>
<nav name="menulink4" path="link4.php">
<nav name="menulink4child4"
path="menulink4childlink4.php">
<nav name="menulink4child4child4"
path="menulink4childlink4childlink4.php" />
</nav>
</nav>
</menu>
</root>
Я думал об использовании SimpleXML для анализа и XPATH для выбора узлов, а затем с помощью URL-адреса страницы с помощью запросов $ _SERVER, чтобы я мог определить, какой пункт меню должен бытьоткрыть для использования правильных стилей CSS, например, добавить стиль к nav name = "menulink1child1child1. Обратите внимание , что только элементы навигации уровня 1 должны выбираться для страниц верхнего уровня и последующих дочерних элементов при переходе на дочерние страницы этого элемента
т.е.
homepage: home | menulink1 | menulink2| menulink3 | menulink4 |
menulink1: menulink1
-- childlink1
| menulink2 | menulink3 | menulink4
Обратите внимание , что меню вертикальное, а не горизонтальное, поэтому дочерние элементы должны отображаться в правильном порядке родительских элементов, а не только автоматически подв новой строке веб-страницы:)
Мой вопрос: каков наилучший способ анализа файла навигации XML, который требуетуказания для выбора дочерних элементов?Должен ли я смотреть на использование XSL для преобразования XML?
TIA Jared