XmlReader.ReadInnerXml-Methode
Liest beim Überschreiben in einer abgeleiteten Klasse den gesamten Inhalt, einschließlich Markup, als Zeichenfolge.
Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Overridable Function ReadInnerXml As String
'Usage
Dim instance As XmlReader
Dim returnValue As String
returnValue = instance.ReadInnerXml
public virtual string ReadInnerXml ()
public:
virtual String^ ReadInnerXml ()
public String ReadInnerXml ()
public function ReadInnerXml () : String
Rückgabewert
Der gesamte XML-Inhalt (einschließlich Markup) im aktuellen Knoten. Wenn der aktuelle Knoten keine untergeordneten Elemente besitzt, wird eine leere Zeichenfolge zurückgegeben. Wenn der aktuelle Knoten weder ein Element noch ein Attribut ist, wird eine leere Zeichenfolge zurückgegeben.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Das XML war nicht wohlgeformt, oder bei der XML-Analyse ist ein Fehler aufgetreten. |
Hinweise
Diese Methode gibt den gesamten Inhalt des aktuellen Knotens (einschließlich Markup) zurück. Der aktuelle Knoten (Starttag) und der entsprechende Endknoten (Endtag) werden nicht zurückgegeben. Betrachten Sie folgendes Beispiel:
<node>
this <child id="123"/>
</node>
ReadInnerXml gibt this <child id="123"/>
Diese Methode behandelt Element- und Attributknoten wie folgt:
Knotentyp |
Position vor dem Aufruf |
XML-Fragment |
Rückgabewert |
Position nach dem Aufruf |
---|---|---|---|---|
Element |
Auf dem item1-Starttag. |
<item1>text1</item1><item2>text2</item2> |
text1 |
Auf dem item2-Starttag. |
Attribute |
Auf dem attr1-Attributknoten. |
<item attr1="val1" attr2="val2">text</item> |
val1 |
Verbleibt auf dem attr1-Attributknoten. |
Wenn der Reader auf einem Endknoten positioniert ist, sind der Aufruf von ReadInnerXml und der Aufruf von Read äquivalent. Die Methode gibt String.Empty zurück (außer bei Attributknoten, bei denen der Wert des Attributs zurückgegeben wird).
Diese Methode prüft auf wohlgeformtes XML. Wenn ReadInnerXml von einem XmlValidatingReader aufgerufen wird, validiert diese Methode auch den zurückgegebenen Inhalt.
Gemäß ihrer Implementierung in den Klassen XmlNodeReader, XmlTextReader und XmlValidatingReader unterstützt die ReadOuterXml-Methode Namespaces.
Beispiel
Im folgenden Beispiel werden die ReadInnerXml-Methode und die ReadOuterXml-Methode verglichen.
' Load the file and ignore all white space.
Dim settings As New XmlReaderSettings()
settings.IgnoreWhitespace = True
Using reader As XmlReader = XmlReader.Create("2books.xml")
' Moves the reader to the root element.
reader.MoveToContent()
' Moves to book node.
reader.Read()
' Note that ReadInnerXml only returns the markup of the node's children
' so the book's attributes are not returned.
Console.WriteLine("Read the first book using ReadInnerXml...")
Console.WriteLine(reader.ReadInnerXml())
' ReadOuterXml returns the markup for the current node and its children
' so the book's attributes are also returned.
Console.WriteLine("Read the second book using ReadOuterXml...")
Console.WriteLine(reader.ReadOuterXml())
End Using
// Load the file and ignore all white space.
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
using (XmlReader reader = XmlReader.Create("2books.xml")) {
// Moves the reader to the root element.
reader.MoveToContent();
// Moves to book node.
reader.Read();
// Note that ReadInnerXml only returns the markup of the node's children
// so the book's attributes are not returned.
Console.WriteLine("Read the first book using ReadInnerXml...");
Console.WriteLine(reader.ReadInnerXml());
// ReadOuterXml returns the markup for the current node and its children
// so the book's attributes are also returned.
Console.WriteLine("Read the second book using ReadOuterXml...");
Console.WriteLine(reader.ReadOuterXml());
}
Im Beispiel wird die Datei 2books.xml als Eingabe verwendet.
<!--sample XML fragment-->
<bookstore>
<book genre='novel' ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
<price>24.95</price>
</book>
</bookstore>
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
XmlReader-Klasse
XmlReader-Member
System.Xml-Namespace