XMLReader from a string content

2019-03-17 02:58发布

I'm trying to generate XML from another XML using a XslTransform. I get both files (source XML and XSL transformation file) as string content, so I'm trying to pass the XSL file to XslTransform.Load() method as XmlReader. Now the XmlReader has to be created form a source string containing XSL file, so i try doing it like this:

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);

and also tried using a StringReader:

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

Unfortunately, bot methods don't seems to work, the input seems to be ok, I even tried creating some basic one-element XML to pass, won't work either - reader contains {None}.

Could someone point out what seems to be the problem here?

标签: c# xml xslt
2条回答
神经病院院长
2楼-- · 2019-03-17 03:35

The StringReader -> XmlReader approach is fine, you should stick to it. The reader reports none because it hasn't been read yet. Try calling Read() on it to see what happens then. The transformation will also call read on it.

查看更多
\"骚年 ilove
3楼-- · 2019-03-17 03:35

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

查看更多
登录 后发表回答