XContainer.CreateWriter Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğ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 İç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.