2012-04-13 5 views
1

xmlファイルから複数の要素を選択する際に助けが必要です。私は現在、自分を選択する方法しか知りません。複数のものを見つけようとすると、私の苦しいkopriが傷ついています。御時間ありがとうございます。xmlファイルから複数の要素を選択し、複数のラベルを表示する

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ファイル:私は、C#を使用しているため

<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

万が一、.net> = 3.5を使用している場合は、u shud try linq –

答えて

2

私はVBについてはあまり知りません。 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; 

本のためのクラスを作成

パブリッククラスBook { 公共ブック(){}

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

関連する問題