Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

XmlWriter.WriteAttributes-Methode

Schreibt beim Überschreiben in einer abgeleiteten Klasse sämtliche an der aktuellen Position gefundenen Attribute in den XmlReader.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)
public virtual void WriteAttributes(
	XmlReader reader,
	bool defattr
)

Parameter

reader
Typ: System.Xml.XmlReader
Der XmlReader, aus dem die Attribute kopiert werden sollen.
defattr
Typ: System.Boolean
true , um die Standardattribute aus dem XmlReader zu kopieren, andernfalls false.
AusnahmeBedingung
ArgumentNullException

reader ist null.

XmlException

Der Reader ist nicht auf einem der Knoten element, attribute oder XmlDeclaration positioniert.

InvalidOperationException

Ein XmlWriter -Methode wurde aufgerufen, bevor eine vorherige asynchrone Operation abgeschlossen. In diesem Fall InvalidOperationException wird ausgelöst, mit der Meldung "ein asynchroner Vorgang ist bereits im Gange."

Wenn der Reader auf einem element-Knoten positioniert ist, kopiert WriteAttributes alle darin enthaltenen Attribute. Wenn der Reader auf einem attribute-Knoten positioniert ist, schreibt diese Methode das aktuelle Attribut und anschließend die verbleibenden Attribute bis zum Endtag des Elements. Wenn der Reader auf einem XmlDeclaration-Knoten positioniert ist, schreibt diese Methode sämtliche Attribute in der Deklaration. Wenn der Reader auf einem anderen Knotentyp positioniert ist, löst diese Methode eine XmlException aus.

Beim Aufruf dieser Methode mit XmlValidatingReader werden alle Inhalte, die aus den Entitäten erweitert wurden und zu einem ungültigen Dokument führen könnten, beim Schreiben ersetzt, um wohlgeformten XML-Code zu gewährleisten. Wenn ein Attribut z. B. eine erweiterte >-Entität enthält, wird das erweiterte ">" beim Schreiben durch > ersetzt, um ein wohlgeformtes Dokument zu gewährleisten.

Die asynchrone Version dieser Methode, finden Sie unter WriteAttributesAsync.

Im folgenden Beispiel werden alle Elemente in die Ausgabe kopiert, die Tagnamen in Großbuchstaben umgewandelt und sämtliche nicht geänderten Attribute kopiert.


using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    XmlReader reader = XmlReader.Create("test1.xml");
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Indent = true;
    XmlWriter writer = XmlWriter.Create(Console.Out);

    while (reader.Read()) {
      if (reader.NodeType == XmlNodeType.Element) {
        writer.WriteStartElement(reader.Name.ToUpper());
        writer.WriteAttributes(reader, false);
        if (reader.IsEmptyElement) writer.WriteEndElement();
      }
      else if (reader.NodeType == XmlNodeType.EndElement) {
        writer.WriteEndElement();
      }
    }
    writer.Close();
    reader.Close();
  }
}


Im Beispiel wird die Datei test1.xml als Eingabe verwendet.


<test a="1" b="2">
    <item c="3" d="4" e="5" f="6"/>
</test>


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.