XContainer.CreateWriter Yöntem

Tanım

öğesine düğüm XContainereklemek için kullanılabilecek bir XmlWriter oluşturur.

public:
 System::Xml::XmlWriter ^ CreateWriter();
public System.Xml.XmlWriter CreateWriter ();
member this.CreateWriter : unit -> System.Xml.XmlWriter
Public Function CreateWriter () As XmlWriter

Döndürülenler

XmlWriter

XmlWriter İçeriğin yazıldı olması için hazır olan bir.

Örnekler

XSLT dönüşümü gerçekleştirmek için bu yöntemi kullanabilirsiniz. XML ağacı oluşturabilir, XML ağacından bir XmlReader oluşturabilir, yeni bir belge oluşturabilir ve yeni belgeye yazacak bir XmlWriter oluşturabilirsiniz. Ardından, ve'yi XmlWriter dönüştürmeye geçirerek XSLT dönüşümünü XmlReader çağırabilirsiniz. Dönüştürme başarıyla tamamlandıktan sonra, yeni XML ağacı dönüştürmenin sonuçlarıyla doldurulur.

string xslMarkup = @"<?xml version='1.0'?>  
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>  
    <xsl:template match='/Parent'>  
        <Root>  
            <C1><xsl:value-of select='Child1'/></C1>  
            <C2><xsl:value-of select='Child2'/></C2>  
        </Root>  
    </xsl:template>  
</xsl:stylesheet>";  

XDocument xmlTree = new XDocument(  
    new XElement("Parent",  
        new XElement("Child1", "Child1 data"),  
        new XElement("Child2", "Child2 data")  
    )  
);  

XDocument newTree = new XDocument();  
using (XmlWriter writer = newTree.CreateWriter()) {  
    // Load the style sheet.  
    XslCompiledTransform xslt = new XslCompiledTransform();  
    xslt.Load(XmlReader.Create(new StringReader(xslMarkup)));  

    // Execute the transform and output the results to a writer.  
    xslt.Transform(xmlTree.CreateReader(), writer);  
}  

Console.WriteLine(newTree);  
Dim xslMarkup As XDocument = _   
    <?xml version='1.0'?>  
    <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>  
        <xsl:template match='/Parent'>  
            <Root>  
                <C1><xsl:value-of select='Child1'/></C1>  
                <C2><xsl:value-of select='Child2'/></C2>  
            </Root>  
        </xsl:template>  
    </xsl:stylesheet>  

Dim xmlTree As XElement = _   
    <Parent>  
        <Child1>Child1 data</Child1>  
        <Child2>Child2 data</Child2>  
    </Parent>  

Dim newTree As XDocument = New XDocument()  

Using writer As XmlWriter = newTree.CreateWriter()  
    ' Load the style sheet.  
    Dim xslt As XslCompiledTransform = _  
        New XslCompiledTransform()  
    xslt.Load(xslMarkup.CreateReader())  

    ' Execute the transform and output the results to a writer.  
    xslt.Transform(xmlTree.CreateReader(), writer)  
End Using  

Console.WriteLine(newTree)  

Bu örnek aşağıdaki çıkışı oluşturur:

<Root>  
  <C1>Child1 data</C1>  
  <C2>Child2 data</C2>  
</Root>  

Açıklamalar

Seri hale getirildiğinde, ad alanı ön ekleri XML ağacındaki ad alanı özniteliklerinden çıkarılır.

Daha fazla bilgi için bkz. XML Ad Alanları ile çalışma.

Şunlara uygulanır

Ayrıca bkz.