0
我已經寫了一些php代碼來解析已經使用SimpleXML的xml文件,它非常混亂,但可以包含如果有幫助。使用哪種語言來解析xml進行導航
這就是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選擇的節點,然後我就在想使用$ _SERVER請求的頁面URL,以便我可以檢測到應該打開哪些菜單項以使用正確的CSS樣式,例如添加樣式NAV NAME =「menulink1child1child1。 注意,只有1個導航元素應選擇頂層頁面和隨後的子元素,當他們進入該元素
即
homepage: home | menulink1 | menulink2| menulink3 | menulink4 |
menulink1: menulink1
-- childlink1
| menulink2 | menulink3 | menulink4
的子頁
注意該菜單是垂直的,不是水平的,所以子元素必須出現在父元素的正確順序,不只是下面自動在網頁上:)
我的疑問句的新行重刑是;解析需要條件來選擇子元素的xml導航文件的最佳方式是什麼?我應該看看使用XSL來轉換xml嗎?
TIA 賈裏德
你看過SimpleXML嗎? – Darren 2011-02-03 21:15:48
@Darren是的,這是我一直用來解析XML,但我發現當用戶轉到某個級別的站點時,很難遍歷到正確的節點。 – Jared 2011-02-03 21:21:07