有一個XML檔,名稱是"person.xml",內容為:
---------------------------------------------
<基本資料>
<學生>
<學號 學校="南台科大">9096036學號>
<姓名>蔡文龍姓名>
<電話>04-32345671電話>
<信箱>lung67@giga.net.tw信箱>
<價格>
<單位>台幣單位>
<數值>300數值>
價格>
學生>
<學生>
<學號 學校="台南科大">9096001學號>
<姓名>許百宏姓名>
<電話>04-12345671電話>
<信箱>em@ms37.hient.net信箱>
<價格>
<單位>美元單位>
<數值>400數值>
價格>
學生>
基本資料>
---------------------------------------------
想設計一個程式,可以自己判斷裡面有幾層標籤,
並把每一層的標籤存在不同的變數裡,希望的結果如下
矩陣[第1層]:基本資料
矩陣[第2層]:學生
矩陣[第3層]:學號、姓名、電話、信箱、價格
矩陣[第4層]:單位、數值
程式如下:
Dim objXmlDocument As New XmlDocument objXmlDocument.Load(Server.MapPath("person.xml")) Dim NodeSave01(10) As String '此矩陣用來存特定層級的所有節點名稱 Dim NodeCount01 As Integer = 0 '存目前在第幾層的位置:本範例有四層:基本資料(第一層)__學生(第二層)__學號(第三層)__單位(第四層) Dim NodeCount02 As Integer = 0 '存特定層級的節點數目:本範例的第一層(1個節點)__第二層(2個節點)__第三層(5個節點)__第四層(2個節點) Dim Nodestr01 As String = "" NodeSave01(0) = objXmlDocument.DocumentElement.Name '將根節點名稱存進第一層矩陣 If objXmlDocument.DocumentElement.HasChildNodes Then '看是否有第二層節點 NodeCount01 += 1 '將層級指向第二層 NodeSave01(NodeCount01) = objXmlDocument.DocumentElement.ChildNodes '將第二層的所有節點名稱存入到矩陣[第2層],但是*****「沒辦法存」****** End If Response.Write(NodeSave01(0)) '印出第一層的標籤名稱 Response.Write(NodeSave01(1)) '印出第二層的標籤名稱
沒有留言:
張貼留言