Artikel ini menunjukkan bagaimana untuk menggunakan
XmlTextReader kelas untuk membaca Extensible Markup Language (XML) dari sungai. The
Streaming dapat datang dari berbagai sumber, seperti aliran byte dari server,
file, atau a
TextReader kelas.
Persyaratan
Daftar berikut menguraikan fitur perangkat keras, perangkat lunak,
jaringan infrastruktur, dan paket layanan yang akan Anda perlukan:
- Microsoft Windows 2000 Professional, Windows 2000 Server,
Windows 2000 Advanced Server, atau Windows NT 4.0 Server
- Microsoft Visual Studio.NET
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan berikut
topik:
- XML terminologi
- Membuat dan membaca XML
Bagaimana membaca XML Data dari Sungai
- Membuka Visual Studio.NET.
- Membuat baru Microsoft Visual Basic (VB) atau Microsoft
Visual C# konsol aplikasi.
CATATAN: Langkah-langkah berikut menyediakan penjelasan rinci tentang bagaimana
membangun aplikasi. Anda juga dapat pergi langsung ke langkah 10, di mana selesai
kode disediakan. - Pastikan bahwa proyek berisi referensi untuk System.xml dan System.io namespace.
- Menggunakan impor pernyataan di XML namespace sehingga Anda tidak perlu memenuhi syarat XmlTextReader Deklarasi di namespace itu kemudian dalam kode Anda. Anda harus menggunakan
pernyataan impor sebelum untuk deklarasi lain sebagai berikut:
Visual Basic.Kode bersih
Imports System.Xml
Imports System.IO
Visual C# kode
using System.Xml;
using System.IO;
- Membuat atau mengambil aliran XML. Aliran adalah abstrak
representasi dari perangkat input atau output yang merupakan sumber, atau
tujuan untuk, data (dalam kasus, ini data XML). Anda dapat menulis dan membaca dari
streaming, yang terbaik divisualisasikan sebagai aliran byte.
Aliran yang
digunakan untuk memberikan kemerdekaan dari perangkat dan karenanya tidak ada program
perubahan jika, misalnya, sumber arus perubahan. Ada beberapa
cara yang berbeda untuk menciptakan aliran untuk XmlTextReader kelas. Pilih salah satu contoh kode berikut untuk menambah
Prosedur utama modul default:- Contoh kode yang menggunakan StringReader objek:
The StringReader objek membaca karakter dari string dan mengambil dalam nilai string
selama konstruksi.Visual Basic.NET kode
Dim stream as System.IO.StringReader
stream = new StringReader("<?xml version='1.0'?>" & _
"<!-- This file is a book store inventory. -->" & _
"<bookstore>" & _
" <book genre=""autobiography"" ISBN=""1-861003-11-0"">" & _
" <title>The Autobiography of Benjamin Franklin</title>" & _
" <author>" & _
" <first-name>Benjamin</first-name>" & _
" <last-name>Franklin</last-name>" & _
" </author>" & _
" <price>8.99</price>" & _
" </book>" & _
"</bookstore>")
C# kode
StringReader stream;
stream = new StringReader("<?xml version='1.0'?>" +
"<!-- This file represents a fragment of a book store inventory database. -->" +
"<bookstore>" +
" <book genre=\"autobiography\" publicationdate=\"1981\" ISBN=\"1-861003-11-0\">" +
" <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 genre=\"novel\" publicationdate=\"1967\" ISBN=\"0-201-63361-2\">" +
" <title>The Confidence Man</title>" +
" <author>" +
" <first-name>Herman</first-name>" +
" <last-name>Melville</last-name>" +
" </author>" +
" <price>11.99</price>" +
" </book>" +
" <book genre=\"philosophy\" publicationdate=\"1991\" ISBN=\"1-861001-57-6\">" +
" <title>The Gorgias</title>" +
" <author>" +
" <name>Plato</name>" +
" </author>" +
" <price>9.99</price>" +
" </book>" +
"</bookstore>");
- Contoh kode yang menggunakan StreamReader objek:
The StreamReader objek digunakan untuk membaca karakter dari file. Itu dibaca di
nama file untuk membaca selama konstruksi:Visual Basic.NET kode
Dim stream as System.IO.StreamReader
' Loads the XML data in the file books.xml in a new stream.
stream = New StreamReader ("books.xml")
C# kode
System.IO.StreamReader stream = new System.IO.StreamReader ("books.xml");
Perhatikan bahwa Books.xml file yang digunakan di sini. Anda dapat membuat Anda sendiri
Books.xml file. File Books.xml contoh juga dikirim dengan Visual Studio.Bersih
dan.NET Framework SDK.
- Membangun XmlTextReader kelas dengan aliran. Biasanya, XmlTextReader digunakan jika Anda perlu untuk mengakses XML sebagai data mentah tanpa
overhead dari Document Object Model (DOM); oleh karena itu, XmlTextReader menyediakan mekanisme yang lebih cepat untuk membaca XML. XmlTextReader memiliki berbeda konstruktor untuk menentukan lokasi XML
data. Kode berikut beban XmlTextReader dari Sungai:
Visual Basic.NET kode
Dim reader As XmlTextReader = New XmlTextReader (stream)
C# kode
XmlTextReader reader = null;
reader = new XmlTextReader (stream);
- Membaca melalui XML. Setelah konfigurasi dimuat, XmlTextReader melakukan berurutan membaca untuk memindahkan di XML data dan menggunakan
The Baca metode untuk mendapatkan catatan berikutnya. Mengembalikan nilai False jika ada tidak ada
lebih banyak catatan.
Visual Basic.NET kode
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
C# kode
while (reader.Read())
{
// Do some work here on the data.
...
}
while (reader.Read())
{
// Do some work here on the data.
Console.WriteLine(reader.Name);
}
Console.ReadLine();
- Memeriksa simpul. Untuk memproses XML data, setiap record telah
jenis node, yang dapat ditentukan dari NodeType properti. The Nama dan Nilai properti kembali nama node (elemen atribut nama dan)
dan simpul nilai (teks node) saat ini node (atau catatan). The NodeType Pencacahan menentukan jenis node. Contoh berikut
menampilkan nama unsur-unsur dan jenis dokumen. Perhatikan bahwa contoh ini
mengabaikan elemen atribut.
Visual Basic.NET kode
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
C# kode
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an Element.
Console.Write("<" + reader.Name);
Console.WriteLine(">");
break;
case XmlNodeType.Text: //Display the text in each element.
Console.WriteLine (reader.Value);
break;
case XmlNodeType. EndElement: //Display end of element.
Console.Write("</" + reader.Name);
Console.WriteLine(">");
break;
}
}
- Memeriksa atribut. Elemen node jenis dapat mencakup
daftar atribut node yang berhubungan dengan mereka. The MovetoNextAttribute metode bergerak secara berurutan melalui setiap atribut dalam elemen.
Penggunaan HasAttributes properti untuk menguji apakah simpul memiliki atribut apa pun. The AttributeCount properti kembali jumlah atribut untuk node saat ini.
Visual Basic.NET kode
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
C# kode
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an Element.
Console.Write("<" + reader.Name);
while (reader.MoveToNextAttribute()) // Read attributes.
Console.Write(" " + reader.Name + "='" + reader.Value + "'");
Console.Write(">");
Console.WriteLine(">");
break;
case XmlNodeType.Text: //Display the text in each element.
Console.WriteLine (reader.Value);
break;
case XmlNodeType. EndElement: //Display end of element.
Console.Write("</" + reader.Name);
Console.WriteLine(">");
break;
}
}
- Kode lengkap disediakan di sini untuk kenyamanan Anda.
Visual Basic.Net kode
Imports System.Xml
Imports System.IO
Module Module1
Sub Main()
Dim stream As System.IO.StreamReader
' Loads the XML data in the file books.xml in a new stream.
stream = New StreamReader("books.xml")
Dim reader As XmlTextReader = New XmlTextReader(stream)
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
End Sub
End Module
C# kode
using System;
using System.Xml;
using System.IO;
namespace ReadXMLFromStream
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
System.IO.StreamReader stream = new System.IO.StreamReader ("books.xml");
XmlTextReader reader = null;
reader = new XmlTextReader (stream);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an Element.
Console.Write("<" + reader.Name);
while (reader.MoveToNextAttribute()) // Read attributes.
Console.Write(" " + reader.Name + "='" + reader.Value + "'");
Console.Write(">");
Console.WriteLine(">");
break;
case XmlNodeType.Text: //Display the text in each element.
Console.WriteLine (reader.Value);
break;
case XmlNodeType. EndElement: //Display end of element.
Console.Write("</" + reader.Name);
Console.WriteLine(">");
break;
}
}
}
}
}
- Membangun dan menjalankan proyek Anda.
Untuk selengkapnya, lihat "XML di Microsoft.NET:.NET
Kerangka XML kelas dan C# menawarkan sederhana, Scalable manipulasi Data"artikel
dari
MSDN majalah pada Web site Microsoft berikut:
Untuk informasi lebih lanjut tentang
XmlReader,
StreamReader, dan
StringReader kelas, lihat Microsoft.NET Framework kelas perpustakaan
dokumentasi.
Untuk informasi lebih lanjut tentang menggunakan
XmlReader untuk membaca XML data, lihat Microsoft.NET Framework Developer
Panduan dokumentasi.
ID Artikel: 301228 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
- Microsoft .NET Framework 1.1
| kbhowtomaster kbmt KB301228 KbMtid |
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:
301228
(http://support.microsoft.com/kb/301228/en-us/
)