Visual Basic .NET kullanarak xml bir dosyadan okunan nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 301225 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede XmlTextReader sınıfı Genişletilebilir Biçimlendirme Dili (xml) bir dosyadan okunan için nasıl kullanılacağı gösterilmektedir. Doğrudan ayrıştırma ve xml ve uyguladığı tokenizing XmlTextReader sağlar Ad alanlarında xml belirtiminden yanı sıra, xml 1.0 belirtimi World Wide Web Consortium (W3C). Bu makalede, hızlı, simgele?tirilmi? akışı sağlanır. xml belge nesnesi gibi bir nesne modelini kullanmak yerine xml erişim Modeli (dom).

Gereksinimleri

Aşağıdaki listede önerilen donanım, yazılım önerilmektedir, ağ altyapısı ve gereken hizmet paketleri:
  • Microsoft Visual Studio .NET
Bu makalede, aşağıdaki bilgi sahibi olduğunuzu varsayar Konular:
  • xml terimleri
  • Oluşturma ve xml dosyası okumak

Bir dosyadan xml hakkında

Bu örnek Books.xml adında bir dosya kullanır. Kendi kendinize oluşturabilirsiniz Books.XML dosyası. Books.xml olan \Bin\Debug klasörünü kopyalamanız gerekir Bu proje oluşturduğunuz klasörü altında bulunur. Ayrıca Books.XML karşıdan yüklenebilir; bakın Başvurular karşıdan yükleme konumu için bölüm.
  1. Visual Studio .NET açın
  2. Yeni bir Visual Basic .NET konsol uygulaması oluşturun. Şunları yapabilirsiniz doğrudan devam Tam kod Listeleme bölüm veya oluşturmak için bu adımları izleyerek uygulama.
  3. Proje System.Xml.dll derlemesine bir başvuru içerdiğinden emin olun.
  4. Böylece, daha sonra kodunuzda bildirimleri XmlTextReader alabilmek için gerekli değildir Xml ad alanında Imports ifadesini kullanın. Imports ifadesini tüm diğer bildirimlerden önce kullanmalısınız.
    Imports System.Xml
    					
  5. XmlTextReader sınıfı içeren xml dosyası oluşturun. xml ham veri olarak erişmek gerekirse XmlTextReader tipik olarak kullanılır bir DOM yükünü; Bu nedenle, XmlTextReader xml okumak için daha hızlı bir mekanizma sağlar. XmlTextReader xml konumunu belirtmek için farklı bir oluşturucusu yok veri. Aşağıdaki kod XmlTextReader Books.xml dosyasından yükler. Module1 ana yordamda XmlTextReader oluşturmak için aşağıdaki kodu ekleyin:
    Dim reader As XmlTextReader = New XmlTextReader ("books.xml")
    					
  6. xml ile okuyun. Bu adımı bir dış gösterdiğine dikkat edin "Döngü ve sonraki iki adımı nasıl kullanılacağı, döngü ve xml okuma gösterirken". Onu yüklendikten sonra xml verilerini ve kullanımları arasında taşımak için sıralı okuma XmlTextReader gerçekleştirir. Sonraki kayda almak için Read yöntemi. Read yöntemi daha fazla kayıt olduğunda false değerini döndürür.
    Do While (reader.Read())
        ' Do some work here on the data.
        Console.WriteLine(reader.Name)
    Loop
    
    ' Reading of the XML file has finished.
    Console.ReadLine() 'Pause
    					
  7. Düğümleri inceleyin. xml verilerini işlemek için her kaydı yok. NodeType özelliğinden belirlenen bir düğüm türü. Düğüm adı (ö?e ve öznitelik adları) ad ve değer özellikleri döndürür ve düğüm değeri (düğüm metni) geçerli düğüm (veya kayıtları). NodeType numaralandırma düğüm türü belirler. Aşağıdaki örnek kodu öğe ve belge türünün adını görüntüler. Dikkat Bu örnek öğe öznitelikleri yok sayar.
    Do While (reader.Read())
    Select Case reader.NodeType
    Case XmlNodeType.Element 'Display beginning of element.
    Console.Write("<" + reader.Name)
    Console.WriteLine(">")
    Case XmlNodeType.Text 'Display the text in each element.
    Console.WriteLine(reader.Value)
    Case XmlNodeType.EndElement 'Display end of element.
    Console.Write("</" + reader.Name)
    Console.WriteLine(">")
    End Select
    Loop
    					
  8. Özniteliklerini inceleyin. Öğe düğümü türleri dahil edebileceğiniz bir bunlarla ilişkili öznitelik düğümlerinin listesi. MovetoNextAttribute yöntemi her öğesinde özniteliği aracılığıyla sırayla taşır. Düğümü öznitelik olup olmadığını sınamak için HasAttributes özelliğini kullanın. AttributeCount özelliği geçerli düğümün özniteliklerini döndürür.
    Do While (reader.Read())
    Select Case reader.NodeType
    Case XmlNodeType.Element 'Display beginning of element.
    Console.Write("<" + reader.Name)
             If reader.HasAttributes Then 'If attributes exist
             	While reader.MoveToNextAttribute() 
    					'Display attribute name and value.
    Console.Write(" {0}='{1}'", reader.Name, reader.Value)
    End While
    End If
    Console.WriteLine(">")
    Case XmlNodeType.Text 'Display the text in each element.
    Console.WriteLine(reader.Value)
    Case XmlNodeType.EndElement 'Display end of element.
    Console.Write("</" + reader.Name)
    Console.WriteLine(">")
    End Select
    Loop
    					
  9. Kaydedin ve projeyi kapatın.

Tam kod listesi

Imports System.Xml
Module Module1

    Sub Main()
        Dim reader As XmlTextReader = New XmlTextReader("books.xml")

        Do While (reader.Read())
            Select Case reader.NodeType
                Case XmlNodeType.Element 'Display beginning of element.
                    Console.Write("<" + reader.Name)
                    If reader.HasAttributes Then 'If attributes exist
                        While reader.MoveToNextAttribute()
                            'Display attribute name and value.
                            Console.Write(" {0}='{1}'", reader.Name, reader.Value)
                        End While
                    End If
                    Console.WriteLine(">")
                Case XmlNodeType.Text 'Display the text in each element.
                    Console.WriteLine(reader.Value)
                Case XmlNodeType.EndElement 'Display end of element.
                    Console.Write("</" + reader.Name)
                    Console.WriteLine(">")
            End Select
        Loop
        Console.ReadLine()

    End Sub

End Module
				

Çıkış

<bookstore>
<book>
<title>
The Autobiography of Benjamin Franklin
</title>
<author>
<first-name>
Benjamin
</first-name>
<last-name>
Franklin
</last-name>
</author>
<price>
8.99
</price>
</book>
<book>
<title>
The Confidence Man
</title>
<author>
<first-name>
Herman
</first-name>
<last-name>
Melville
</last-name>
</author>
<price>
11.99
</price>
</book>
<book>
<title>
The Gorgias
</title>
<author>
<name>
Plato
</name>
</author>
<price>
9.99
</price>
</book>
</bookstore>
				

Referanslar

, Aşağıdaki dosya Microsoft Download adresinden yüklenebilir Merkezi:
Bu resmi kapatBu resmi aç
Karşıdan yükleme
Books.XML şimdi karşıdan yükle
Daha fazla bilgi için bkz: "xml içinde .NET: .NET Framework xml Sınıflar ve C# sunan basit, ölçeklenebilir veri işleme"makalesinden msdn Magazine aşağıdaki Microsoft Web sitesinde:
http://msdn.microsoft.com/msdnmag/issues/01/01/XML/default.aspx
XmlReader sınıfı hakkında daha fazla bilgi için aşağıdaki Microsoft .NET Framework sınıf kitaplığı bkz: Web sitesi:
http://msdn.microsoft.com/en-us/library/System.XML.XmlReader (vs.71) .aspx
XmlReader , xml verilerini okumak için kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft .NET Framework konusuna bakın. Geliştirici Kılavuzu:
http://msdn2.microsoft.com/en-us/library/aa720470 (vs.71) .aspx
 

Özellikler

Makale numarası: 301225 - Last Review: 27 Aralık 2012 Perşembe - Gözden geçirme: 6.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbdownload kbhowtomaster kbmt KB301225 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 301225

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com