Подтвердить что ты не робот

XMLReader из строкового содержимого

Я пытаюсь создать XML из другого XML с помощью XslTransform. Я получаю оба файла (исходный XML и файл преобразования XSL) в виде содержимого строки, поэтому я пытаюсь передать XSL файл методу XslTransform.Load() как XmlReader. Теперь XmlReader должен быть создан из исходной строки, содержащей XSL файл, поэтому я пытаюсь сделать это следующим образом:

MemoryStream memStream = new MemoryStream();
byte[] data = Encoding.Default.GetBytes(transformation.XsltContent);
memStream.Write(data, 0, data.Length);
memStream.Position = 0;
XmlReader reader = XmlReader.Create(memStream);

а также попытался использовать StringReader:

XmlReader reader = XmlReader.Create(new StringReader(transformation.XsltContent));

К сожалению, бот-методы, похоже, не работают, вход кажется нормально, я даже попытался создать некоторый базовый одноэлементный XML для передачи, не будет работать - читатель содержит {None}.

Может ли кто-нибудь указать, что здесь кажется проблемой?

4b9b3361

Ответ 1

Метод StringReader → XmlReader в порядке, вы должны придерживаться его. Читатель не сообщает об этом, потому что он еще не прочитан. Попробуйте вызвать Read() на нем, чтобы узнать, что произойдет потом. Преобразование также вызовет чтение на нем.

Ответ 2

XmlReader xmlReader = XmlReader.Create(new StringReader(YourStringValue));