XMLReader из строкового содержимого - PullRequest
44 голосов
/ 23 декабря 2010

Я пытаюсь сгенерировать 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}.

Может кто-то указатьв чем тут проблема?

Ответы [ 2 ]

105 голосов
/ 14 ноября 2012

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

29 голосов
/ 23 декабря 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...