У меня есть объект XslCompiledTransform
, и я хочу получить вывод в объекте XmlReader
, так как мне нужно пропустить его через вторую таблицу стилей. Я немного запутался - я могу успешно преобразовать какой-то XML и прочитать его, используя StreamReader
или XmlDocument
, но когда я пытаюсь XmlReader
, я ничего не получаю.
В приведенном ниже примере stylesheet
- это мой XslCompiledTransform
объект. Первые два вызова Console.WriteLine
выводят правильный преобразованный XML, но третий вызов не дает 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