从xml文件中选择多个元素,并显示在多个标签中

时间:2012-04-13 22:51:33

标签: asp.net

我需要帮助从xml文件中选择多个元素。我目前只知道如何选择一个,并试图找出不止一个是伤害我的微不足道的kopri。谢谢你的时间。

Imports System.Xml

Partial Class ex01_Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'instantiate a reader'
        Dim reader As New XmlTextReader(Server.MapPath("~/ex01/docP.xml"))
        'declare variable to record when a <name> element is found'
        Dim bName As Boolean = False
        'iterate through all of the nodes in the XML document'
        While reader.Read()
            'look at the node type of each node'
            Select Case reader.NodeType
                'if node is a <name> element, remember it'
                Case XmlNodeType.Element
                    If reader.Name = "title" Then
                        bName = True
                    End If


                    'if node is text & previous node was <name>, add it to Label'
                Case XmlNodeType.Text
                    If bName Then
                        lblDisplayXml.Text &= reader.ReadString & "<br/>"
                        bName = False

                    End If
            End Select
        End While
    End Sub
End Class

xml文件:

<book_club>
  <book>
    <isbn>0-13-129014-2</isbn>
    <title>JAVA How to Program (6th Ed)</title>
    <author>PJ &amp; HM Deitel</author>
    <price>£39.99</price>
  </book>
  <book>
    <isbn>0-67-232238-2</isbn>
    <title>Teach Yourself UML</title>
    <author>J Schmuller</author>
    <price>£9.99</price>
  </book>
  <book>
    <isbn>0-27-365575-2</isbn>
    <title>Practical Business Systems Development using SSADM</title>
    <author>P Weaver, N Lambrou &amp; M Walkley</author>
    <price>£34.99</price>
  </book>
  <book>
    <isbn>0-67-232422-9</isbn>
    <title>XML Primer Plus</title>
    <author>N Chase</author>
    <price>£32.99</price>
  </book>
  <book>
    <isbn>0-78-972476-6</isbn>
    <title>XML and Java from Scratch</title>
    <author>N Chase</author>
    <price>£19.99</price>
  </book>
  <book>
    <isbn>1234567890</isbn>
    <title>ASP.NET for Dummies</title>
    <author>RUA Dummy</author>
    <price>free!!</price>
  </book>
</book_club>

1 个答案:

答案 0 :(得分:2)

我对VB知之甚少,因为我使用的是C#。我使用LinQ,因为它提供了一种使用XDocument类读取XML的新方法。这是我从字符串中读到的内容:

返回IEnumerable()的方法

XDocument doc = XDocument.Parse(myString);
            var query= from x in doc.Descendants("Book")
                            select new Location
                            {
                                ISBN= Double.Parse(
                                    x.Descendants("isbn").First().Value),
                                Author= Double.Parse(
                                    x.Descendants("author").First().Value) ......
                            };

            return query;

为图书

创建一个类

公共课书 {     公共图书(){}

public string Author {
    get; set; 
}
.....

}