1

我需要从 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>
4

1 回答 1

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; 
}
.....

}

于 2012-04-13T23:45:45.363 回答