オブジェクトがあり、2 番目のスタイルシートを介して渡す必要があるためXslCompiledTransform
、オブジェクトで出力したいと考えています。XmlReader
少し混乱しています。XML を正常に変換して、StreamReader
またはを使用して読み取ることができますXmlDocument
が、 を試してXmlReader
も何も得られません。
以下の例では、stylesheet
は私のXslCompiledTransform
オブジェクトです。最初の 2 つのConsole.WriteLine
呼び出しでは正しい変換済み XML が出力されますが、3 番目の呼び出しでは XML が返されません。がテキストを期待しているのではないかと推測しているXmlTextReader
ので、これを StreamReader でラップする必要があるかもしれません..? 私は何を間違っていますか?
MemoryStream transformed = new MemoryStream();
stylesheet.Transform(input, args, transformed);
transformed.Position = 0;
StreamReader s = new StreamReader(transformed);
Console.WriteLine("s = " + s.ReadToEnd()); // writes XML
transformed.Position = 0;
XmlDocument doc = new XmlDocument();
doc.Load(transformed);
Console.WriteLine("doc = " + doc.OuterXml); // writes XML
transformed.Position = 0;
XmlReader reader = new XmlTextReader(transformed);
Console.WriteLine("reader = " + reader.ReadOuterXml()); // no XML written