XmlTextReader Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy XmlTextReader.
Przeciążenia
XmlTextReader() |
Inicjuje nowe wystąpienie klasy |
XmlTextReader(String, XmlNodeType, XmlParserContext) |
Inicjuje XmlTextReader nowe wystąpienie klasy z określonym ciągiem , XmlNodeTypei XmlParserContext. |
XmlTextReader(String, TextReader, XmlNameTable) |
Inicjuje XmlTextReader nowe wystąpienie klasy o określonym adresie URL TextReader i XmlNameTable. |
XmlTextReader(String, Stream, XmlNameTable) |
Inicjuje nowe wystąpienie klasy przy użyciu określonego XmlTextReader adresu URL, strumienia i XmlNameTable. |
XmlTextReader(Stream, XmlNodeType, XmlParserContext) |
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia, XmlNodeTypei XmlParserContext. |
XmlTextReader(String, TextReader) |
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i TextReader. |
XmlTextReader(String, Stream) |
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i strumienia. |
XmlTextReader(String, XmlNameTable) |
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego pliku i XmlNameTable. |
XmlTextReader(Stream, XmlNameTable) |
Inicjuje XmlTextReader nowe wystąpienie klasy z określonym strumieniem i XmlNameTable. |
XmlTextReader(XmlNameTable) |
Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości XmlNameTable. |
XmlTextReader(String) |
Inicjuje XmlTextReader nowe wystąpienie klasy z określonym plikiem. |
XmlTextReader(TextReader) |
Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader. |
XmlTextReader(Stream) |
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia. |
XmlTextReader(TextReader, XmlNameTable) |
Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader i XmlNameTable. |
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
XmlTextReader()
Inicjuje nowe wystąpienie klasy XmlTextReader
.
protected:
XmlTextReader();
protected XmlTextReader ();
Protected Sub New ()
Zobacz też
Dotyczy
XmlTextReader(String, XmlNodeType, XmlParserContext)
Inicjuje XmlTextReader nowe wystąpienie klasy z określonym ciągiem , XmlNodeTypei XmlParserContext.
public:
XmlTextReader(System::String ^ xmlFragment, System::Xml::XmlNodeType fragType, System::Xml::XmlParserContext ^ context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (string xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);
new System.Xml.XmlTextReader : string * System.Xml.XmlNodeType * System.Xml.XmlParserContext -> System.Xml.XmlTextReader
Public Sub New (xmlFragment As String, fragType As XmlNodeType, context As XmlParserContext)
Parametry
- xmlFragment
- String
Ciąg zawierający fragment XML do przeanalizowana.
- fragType
- XmlNodeType
Fragment XmlNodeType XML. Określa to również, co może zawierać ciąg fragmentu. (Zobacz poniższą tabelę).
- context
- XmlParserContext
Element XmlParserContext , w którym xmlFragment
ma zostać przeanalizowany. Obejmuje XmlNameTable to użycie, kodowanie, zakres przestrzeni nazw, bieżący zakres xml:lang
i zakres xml:space
.
Wyjątki
fragType
nie jest elementem Element
, Attribute
lub Document
XmlNodeType
.
xmlFragment
to null
.
Przykłady
Poniższy przykład analizuje fragment XML. Używa elementu XmlParserContext
i do XmlNamespaceManager obsługi rozpoznawania przestrzeni nazw.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
// Create the XML fragment to be parsed.
String^ xmlFrag = "<book> <title>Pride And Prejudice</title> <bk:genre>novel</bk:genre> </book>";
// Create the XmlNamespaceManager.
NameTable^ nt = gcnew NameTable;
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt );
nsmgr->AddNamespace( "bk", "urn:sample" );
// Create the XmlParserContext.
XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );
// Create the reader.
XmlTextReader^ reader = gcnew XmlTextReader( xmlFrag,XmlNodeType::Element,context );
// Parse the XML. If they exist, display the prefix and
// namespace URI of each element.
while ( reader->Read() )
{
if ( reader->IsStartElement() )
{
if ( reader->Prefix == String::Empty )
Console::WriteLine( "< {0}>", reader->LocalName );
else
{
Console::Write( "< {0}: {1}>", reader->Prefix, reader->LocalName );
Console::WriteLine( " The namespace URI is {0}", reader->NamespaceURI );
}
}
}
// Close the reader.
reader->Close();
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
//Create the XML fragment to be parsed.
string xmlFrag ="<book> " +
"<title>Pride And Prejudice</title>" +
"<bk:genre>novel</bk:genre>" +
"</book>";
//Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace("bk", "urn:sample");
//Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
//Create the reader.
XmlTextReader reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);
//Parse the XML. If they exist, display the prefix and
//namespace URI of each element.
while (reader.Read()){
if (reader.IsStartElement()){
if (reader.Prefix==String.Empty)
{
Console.WriteLine("<{0}>", reader.LocalName);
}
else
{
Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName);
Console.WriteLine(" The namespace URI is " + reader.NamespaceURI);
}
}
}
//Close the reader.
reader.Close();
}
} // End class
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
'Create the XML fragment to be parsed.
Dim xmlFrag as string ="<book> " & _
"<title>Pride And Prejudice</title>" & _
"<bk:genre>novel</bk:genre>" & _
"</book>"
'Create the XmlNamespaceManager.
Dim nt as NameTable = new NameTable()
Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(nt)
nsmgr.AddNamespace("bk", "urn:sample")
'Create the XmlParserContext.
Dim context as XmlParserContext = new XmlParserContext(nothing, nsmgr, nothing, XmlSpace.None)
'Create the reader.
Dim reader as XmlTextReader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context)
'Parse the XML. If they exist, display the prefix and
'namespace URI of each element.
while (reader.Read())
if (reader.IsStartElement())
if (reader.Prefix=String.Empty)
Console.WriteLine("<{0}>", reader.LocalName)
else
Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName)
Console.WriteLine(" The namespace URI is " + reader.NamespaceURI)
end if
end if
end while
'Close the reader.
reader.Close()
end sub
end class
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Ten konstruktor analizuje dany ciąg jako fragment kodu XML. Jeśli fragment XML jest elementem lub atrybutem, możesz pominąć reguły poziomu głównego dla dobrze sformułowanych dokumentów XML. Ten konstruktor może obsługiwać ciągi zwracane z ReadInnerXmlelementu .
W poniższej tabeli wymieniono prawidłowe wartości i fragType
sposób analizowania poszczególnych typów węzłów przez czytelnika.
XmlNodeType | Fragment może zawierać |
---|---|
Element | Dowolna prawidłowa zawartość elementu (na przykład dowolna kombinacja elementów, komentarzy, instrukcji przetwarzania, sekcje CDATA, tekst i odwołania do jednostek). Można również podać deklarację XML. Umożliwia to określenie kodowania fragmentu XML, a nie konieczności ustawiania go na XmlParserContext obiekcie. |
Atrybut | Wartość atrybutu (część wewnątrz cudzysłowów). |
Dokument | Zawartość całego dokumentu XML. Wymusza to reguły na poziomie dokumentu. |
Zobacz też
Dotyczy
XmlTextReader(String, TextReader, XmlNameTable)
Inicjuje XmlTextReader nowe wystąpienie klasy o określonym adresie URL TextReader i XmlNameTable.
public:
XmlTextReader(System::String ^ url, System::IO::TextReader ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.IO.TextReader input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.IO.TextReader * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, input As TextReader, nt As XmlNameTable)
Parametry
- url
- String
Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość. Jeśli url
wartość to null
, BaseURI
jest ustawiona na String.Empty
wartość .
- input
- TextReader
Zawierające TextReader
dane XML do odczytania.
- nt
- XmlNameTable
Do XmlNameTable
użycia.
Wyjątki
Wartość elementu nt
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zakłada się, że TextReader
parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.
Zobacz też
Dotyczy
XmlTextReader(String, Stream, XmlNameTable)
Inicjuje nowe wystąpienie klasy przy użyciu określonego XmlTextReader adresu URL, strumienia i XmlNameTable.
public:
XmlTextReader(System::String ^ url, System::IO::Stream ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.IO.Stream input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.IO.Stream * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, input As Stream, nt As XmlNameTable)
Parametry
- url
- String
Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość. Jeśli url
wartość to null
, BaseURI
jest ustawiona na String.Empty
wartość .
- input
- Stream
Strumień zawierający dane XML do odczytania.
- nt
- XmlNameTable
Do XmlNameTable
użycia.
Wyjątki
Wartość input
lub nt
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zobacz też
Dotyczy
XmlTextReader(Stream, XmlNodeType, XmlParserContext)
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia, XmlNodeTypei XmlParserContext.
public:
XmlTextReader(System::IO::Stream ^ xmlFragment, System::Xml::XmlNodeType fragType, System::Xml::XmlParserContext ^ context);
public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext? context);
public XmlTextReader (System.IO.Stream xmlFragment, System.Xml.XmlNodeType fragType, System.Xml.XmlParserContext context);
new System.Xml.XmlTextReader : System.IO.Stream * System.Xml.XmlNodeType * System.Xml.XmlParserContext -> System.Xml.XmlTextReader
Public Sub New (xmlFragment As Stream, fragType As XmlNodeType, context As XmlParserContext)
Parametry
- xmlFragment
- Stream
Strumień zawierający fragment XML do przeanalizowana.
- fragType
- XmlNodeType
Fragment XmlNodeType XML. Określa to również, co może zawierać fragment. (Zobacz poniższą tabelę).
- context
- XmlParserContext
Element XmlParserContext , w którym xmlFragment
ma zostać przeanalizowany. Obejmuje XmlNameTable to użycie, kodowanie, zakres przestrzeni nazw, bieżący zakres xml:lang
i zakres xml:space
.
Wyjątki
fragType
nie jest elementem, atrybutem ani dokumentem XmlNodeType
.
xmlFragment
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Ten konstruktor analizuje dany ciąg jako fragment kodu XML. Jeśli fragment XML jest elementem lub atrybutem, możesz pominąć reguły poziomu głównego dla dobrze sformułowanych dokumentów XML.
W poniższej tabeli wymieniono prawidłowe wartości dla fragType
elementu .
XmlNodeType | Fragment może zawierać |
---|---|
Element |
Dowolna prawidłowa zawartość elementu (na przykład dowolna kombinacja elementów, komentarzy, instrukcji przetwarzania, sekcje CDATA, tekst i odwołania do jednostek). Można również podać deklarację XML. Umożliwia to określenie kodowania fragmentu XML, a nie konieczności ustawiania go na XmlParserContext obiekcie. |
Attribute |
Wartość atrybutu (część wewnątrz cudzysłowów). |
Document |
Zawartość całego dokumentu XML. Wymusza to reguły na poziomie dokumentu. |
Czytelnik używa następujących elementów do określenia kodowania strumienia.
Sprawdza właściwość w XmlParserContext.Encoding celu określenia kodowania.
Encoding
Jeśli właściwość tonull
, czytnik sprawdza znacznik kolejności bajtów na początku strumienia.Encoding
Jeśli właściwość manull
wartość , a nie znaleziono znacznika kolejności bajtów, czytnik zakłada, że strumień jest zakodowany w formacie UTF-8.
Zobacz też
Dotyczy
XmlTextReader(String, TextReader)
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i TextReader.
public:
XmlTextReader(System::String ^ url, System::IO::TextReader ^ input);
public XmlTextReader (string url, System.IO.TextReader input);
new System.Xml.XmlTextReader : string * System.IO.TextReader -> System.Xml.XmlTextReader
Public Sub New (url As String, input As TextReader)
Parametry
- url
- String
Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość.
- input
- TextReader
Zawierające TextReader
dane XML do odczytania.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zakłada się, że TextReader
parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.
Zobacz też
Dotyczy
XmlTextReader(String, Stream)
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego adresu URL i strumienia.
public:
XmlTextReader(System::String ^ url, System::IO::Stream ^ input);
public XmlTextReader (string url, System.IO.Stream input);
new System.Xml.XmlTextReader : string * System.IO.Stream -> System.Xml.XmlTextReader
Public Sub New (url As String, input As Stream)
Parametry
- url
- String
Adres URL używany do rozpoznawania zasobów zewnętrznych. Wartość jest ustawiona BaseURI na tę wartość.
- input
- Stream
Strumień zawierający dane XML do odczytania.
Wyjątki
input
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zobacz też
Dotyczy
XmlTextReader(String, XmlNameTable)
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego pliku i XmlNameTable.
public:
XmlTextReader(System::String ^ url, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (string url, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : string * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (url As String, nt As XmlNameTable)
Parametry
- url
- String
Adres URL pliku zawierającego dane XML do odczytania.
- nt
- XmlNameTable
Do XmlNameTable
użycia.
Wyjątki
Wartość elementu nt
to null
.
Nie można odnaleźć określonego pliku.
Nie można odnaleźć części nazwy pliku lub katalogu.
url
jest pustym ciągiem.
Nie można rozpoznać nazwy pliku zdalnego.
-lub-
Wystąpił błąd podczas przetwarzania żądania.
url
nie jest prawidłowym identyfikatorem URI.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zobacz też
Dotyczy
XmlTextReader(Stream, XmlNameTable)
Inicjuje XmlTextReader nowe wystąpienie klasy z określonym strumieniem i XmlNameTable.
public:
XmlTextReader(System::IO::Stream ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (System.IO.Stream input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.IO.Stream * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (input As Stream, nt As XmlNameTable)
Parametry
- input
- Stream
Strumień zawierający dane XML do odczytania.
- nt
- XmlNameTable
Do XmlNameTable
użycia.
Wyjątki
Wartość input
lub nt
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Dekoduje XmlTextReader strumień przy użyciu polecenia System.Text.Encoding.
Jeśli określisz tabelę nazw, ten konstruktor używa nazw zdefiniowanych już w tej tabeli.
Zobacz też
Dotyczy
XmlTextReader(XmlNameTable)
Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości XmlNameTable.
protected:
XmlTextReader(System::Xml::XmlNameTable ^ nt);
protected XmlTextReader (System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Protected Sub New (nt As XmlNameTable)
Parametry
- nt
- XmlNameTable
Do XmlNameTable
użycia.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zobacz też
Dotyczy
XmlTextReader(String)
Inicjuje XmlTextReader nowe wystąpienie klasy z określonym plikiem.
public:
XmlTextReader(System::String ^ url);
public XmlTextReader (string url);
new System.Xml.XmlTextReader : string -> System.Xml.XmlTextReader
Public Sub New (url As String)
Parametry
Wyjątki
Nie można odnaleźć określonego pliku.
Nie można odnaleźć części nazwy pliku lub katalogu.
url
jest pustym ciągiem.
Nie można rozpoznać nazwy pliku zdalnego.
-lub-
Wystąpił błąd podczas przetwarzania żądania.
url
nie jest prawidłowym identyfikatorem URI.
Przykłady
Poniższy przykład odczytuje plik XML i wyświetla każdy z węzłów.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ reader = nullptr;
String^ filename = "items.xml";
try
{
// Load the reader with the data file and ignore all white space nodes.
reader = gcnew XmlTextReader( filename );
reader->WhitespaceHandling = WhitespaceHandling::None;
// Parse the file and display each of the nodes.
while ( reader->Read() )
{
switch ( reader->NodeType )
{
case XmlNodeType::Element:
Console::Write( "<{0}>", reader->Name );
break;
case XmlNodeType::Text:
Console::Write( reader->Value );
break;
case XmlNodeType::CDATA:
Console::Write( "<![CDATA[{0}]]>", reader->Value );
break;
case XmlNodeType::ProcessingInstruction:
Console::Write( "<?{0} {1}?>", reader->Name, reader->Value );
break;
case XmlNodeType::Comment:
Console::Write( "<!--{0}-->", reader->Value );
break;
case XmlNodeType::XmlDeclaration:
Console::Write( "<?xml version='1.0'?>" );
break;
case XmlNodeType::Document:
break;
case XmlNodeType::DocumentType:
Console::Write( "<!DOCTYPE {0} [{1}]", reader->Name, reader->Value );
break;
case XmlNodeType::EntityReference:
Console::Write( reader->Name );
break;
case XmlNodeType::EndElement:
Console::Write( "</{0}>", reader->Name );
break;
}
}
}
finally
{
if ( reader != nullptr )
reader->Close();
}
}
using System;
using System.IO;
using System.Xml;
public class Sample {
private const String filename = "items.xml";
public static void Main() {
XmlTextReader reader = null;
try {
// Load the reader with the data file and ignore all white space nodes.
reader = new XmlTextReader(filename);
reader.WhitespaceHandling = WhitespaceHandling.None;
// Parse the file and display each of the nodes.
while (reader.Read()) {
switch (reader.NodeType) {
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.CDATA:
Console.Write("<![CDATA[{0}]]>", reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
Console.Write("<!--{0}-->", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(reader.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
}
finally {
if (reader!=null)
reader.Close();
}
}
} // End class
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
'Reads an XML document
Public Class Sample
Private Const filename As String = "items.xml"
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
Try
' Load the reader with the data file and ignore all white space nodes.
reader = New XmlTextReader(filename)
reader.WhitespaceHandling = WhitespaceHandling.None
' Parse the file and display each of the nodes.
While reader.Read()
Select Case reader.NodeType
Case XmlNodeType.Element
Console.Write("<{0}>", reader.Name)
Case XmlNodeType.Text
Console.Write(reader.Value)
Case XmlNodeType.CDATA
Console.Write("<![CDATA[{0}]]>", reader.Value)
Case XmlNodeType.ProcessingInstruction
Console.Write("<?{0} {1}?>", reader.Name, reader.Value)
Case XmlNodeType.Comment
Console.Write("<!--{0}-->", reader.Value)
Case XmlNodeType.XmlDeclaration
Console.Write("<?xml version='1.0'?>")
Case XmlNodeType.Document
Case XmlNodeType.DocumentType
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value)
Case XmlNodeType.EntityReference
Console.Write(reader.Name)
Case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
End Select
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
W przykładzie użyto pliku , items.xml
jako danych wejściowych.
<?xml version="1.0"?>
<!-- This is a sample XML document -->
<!DOCTYPE Items [<!ENTITY number "123">]>
<Items>
<Item>Test with an entity: &number;</Item>
<Item>test with a child element <more/> stuff</Item>
<Item>test with a CDATA section <![CDATA[<456>]]> def</Item>
<Item>Test with an char entity: A</Item>
<!-- Fourteen chars in this element.-->
<Item>1234567890ABCD</Item>
</Items>
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Jeśli plik znajduje się w zasobie, który wymaga poświadczeń dostępu, użyj XmlResolver właściwości , aby określić niezbędne poświadczenia.
Uwaga
W wersji 1.1 .NET Framework częściowo zaufany kod nie może ustawić XmlResolver
właściwości. Obejście polega na utworzeniu obiektu XmlUrlResolver z wymaganymi poświadczeniami, przekazaniu identyfikatora URI do XmlUrlResolver.GetEntity metody, a następnie utworzeniu XmlTextReader
obiektu wynikowego Stream . Obejście zostało opisane w poniższym kodzie języka C#.
// Create a resolver with the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
NetworkCredential nc = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword, SecurelyStoredDomain);
resolver.Credentials = nc;
// Get a Stream object containing the XML file.
Uri myUri = new Uri ("http://myServer/data/books.xml");
Stream s=(Stream)resolver.GetEntity(myUri, null, typeof(Stream));
// Construct a reader using the Stream object.
XmlTextReader reader = new XmlTextReader(s);
Zobacz też
Dotyczy
XmlTextReader(TextReader)
Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader.
public:
XmlTextReader(System::IO::TextReader ^ input);
public XmlTextReader (System.IO.TextReader input);
new System.Xml.XmlTextReader : System.IO.TextReader -> System.Xml.XmlTextReader
Public Sub New (input As TextReader)
Parametry
- input
- TextReader
Zawierające TextReader
dane XML do odczytania.
Przykłady
Poniższy przykład ładuje ciąg XML do XmlTextReader
obiektu przy użyciu StringReader klasy .
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
String^ xmlData = "<book>\r\n <title>Oberon's Legacy</title>\r\n <price>5.95</price>\r\n </book>";
// Create the reader.
XmlTextReader^ reader = gcnew XmlTextReader( gcnew StringReader( xmlData ) );
reader->WhitespaceHandling = WhitespaceHandling::None;
// Display each element node.
while ( reader->Read() )
{
switch ( reader->NodeType )
{
case XmlNodeType::Element:
Console::Write( "<{0}>", reader->Name );
break;
case XmlNodeType::Text:
Console::Write( reader->Value );
break;
case XmlNodeType::EndElement:
Console::Write( "</{0}>", reader->Name );
break;
}
}
// Close the reader.
reader->Close();
}
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
string xmlData =
@"<book>
<title>Oberon's Legacy</title>
<price>5.95</price>
</book>";
// Create the reader.
XmlTextReader reader = new XmlTextReader(new StringReader(xmlData));
reader.WhitespaceHandling = WhitespaceHandling.None;
// Display each element node.
while (reader.Read()){
switch (reader.NodeType){
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
// Close the reader.
reader.Close();
}
} // End class
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
Dim xmlData as string
xmlData = "<book>" & _
" <title>Oberon's Legacy</title>" & _
" <price>5.95</price>" & _
"</book>"
' Create the reader.
Dim reader as XmlTextReader = new XmlTextReader(new StringReader(xmlData))
reader.WhitespaceHandling = WhitespaceHandling.None
' Display each element node.
while reader.Read()
select case reader.NodeType
case XmlNodeType.Element
Console.Write("<{0}>", reader.Name)
case XmlNodeType.Text
Console.Write(reader.Value)
case XmlNodeType.EndElement
Console.Write("</{0}>", reader.Name)
end select
end while
' Close the reader.
reader.Close()
end sub
end class
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zakłada się, że TextReader
parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.
Zobacz też
Dotyczy
XmlTextReader(Stream)
Inicjuje XmlTextReader nowe wystąpienie klasy przy użyciu określonego strumienia.
public:
XmlTextReader(System::IO::Stream ^ input);
public XmlTextReader (System.IO.Stream input);
new System.Xml.XmlTextReader : System.IO.Stream -> System.Xml.XmlTextReader
Public Sub New (input As Stream)
Parametry
- input
- Stream
Strumień zawierający dane XML do odczytania.
Wyjątki
input
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Dekoduje XmlTextReader strumień przy użyciu polecenia System.Text.Encoding.
Zobacz też
Dotyczy
XmlTextReader(TextReader, XmlNameTable)
Inicjuje XmlTextReader nowe wystąpienie klasy o określonej wartości TextReader i XmlNameTable.
public:
XmlTextReader(System::IO::TextReader ^ input, System::Xml::XmlNameTable ^ nt);
public XmlTextReader (System.IO.TextReader input, System.Xml.XmlNameTable nt);
new System.Xml.XmlTextReader : System.IO.TextReader * System.Xml.XmlNameTable -> System.Xml.XmlTextReader
Public Sub New (input As TextReader, nt As XmlNameTable)
Parametry
- input
- TextReader
Zawierające TextReader
dane XML do odczytania.
- nt
- XmlNameTable
Do XmlNameTable
użycia.
Wyjątki
Wartość elementu nt
to null
.
Uwagi
Uwaga
Począwszy od .NET Framework 2.0, zalecamy utworzenie XmlReader wystąpień przy użyciu metody , aby korzystać z XmlReader.Create nowych funkcji.
Zakłada się, że TextReader
parametr jest już ustawiony na poprawne kodowanie. Jest to używane przez klientów, którzy już odczytywali niektóre elementy ze strumienia w scenariuszu MIME z wieloma częściami.