Freigeben über


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

XmlException

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

Weitere Ressourcen

Lesen von XML mit dem "XmlReader"