读取XML文件并在网页上显示

时间:2017-06-13 18:22:55

标签: c# asp.net xml vb.net

请参阅下面的XML文件,我试图在网页上显示

<?xml version="1.0" encoding="utf-8" ?>
 <Quotation>
 <QuotationLines>
    <Line>
       <ItemID>Item ID 1</ItemID>
       <Description>
           <TextLine ID="1">Text Line 1 Item ID 1</TextLine>
           <TextLine ID="2">Text Line 2 Item ID 1</TextLine>
           <TextLine ID="3">Text Line 3 Item ID 1</TextLine>
       </Description>
    </Line>
    <Line>
        <ItemID>Item ID 2</ItemID>
        <Description>
            <TextLine ID="1">Text Line 1 Item ID 2</TextLine>
            <TextLine ID="2">Text Line 2 Item ID 2</TextLine>
        </Description>
    </Line>
  </QuotationLines>
 </Quotation>   

我希望它显示如下,因为我需要识别最终保存到数据库中的每个条目:

物品编号1
文本行1项目ID 1
文本行2项目ID 1
文本行3项目ID 1
商品编号2
文本行1项目ID 2
文本行1项目ID 2

我已经找到了如何显示itemid但不能只显示该项ID的相关文本行。

我的代码目前如下:

<%@ Page Language="vb" %>
<%@ Import Namespace="System.Xml" %>

<script runat="server" Language="VB">  

Sub page_load()  

Dim objxml As New XmlDocument()
objxml.load (Server.MapPath("test1.xml"))
Dim nodeList As XmlNodeList = objxml.SelectNodes("/Quotation/QuotationLines/Line")
For Each node As XmlNode In nodeList
response.Write(node("ItemID").InnerText &"<br>")
Next

end sub

    </script>
到目前为止,我花了两天时间试图让这个工作,所以任何帮助都会受到极大的欢迎。我不熟悉asp.net,因为我仍然使用经典的asp。

非常感谢 凯文

1 个答案:

答案 0 :(得分:1)

你只需要第二个循环:

For Each node As XmlNode In nodeList
    Response.Write(node("ItemID").InnerText & "<br>")
    For Each nodeDesc As XmlNode In node("Description").ChildNodes
        Response.Write(nodeDesc.InnerText & "<br />")
    Next
Next