XslTransformを使用して別のXMLからXMLを生成しようとしています。両方のファイル(ソースXMLおよびXSL変換ファイル)を文字列コンテンツとして取得するため、XSLファイルをXmlReaderとしてXslTransform.Load()メソッドに渡そうとしています。ここで、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));
残念ながら、ボットメソッドは機能しないようです。入力は問題ないようです。通過する基本的な1要素のXMLを作成しようとしても機能しません。リーダーには{None}が含まれています。
ここで問題と思われるものを誰かが指摘できますか?
StringReader-> XmlReaderアプローチは問題ありません。これに固執する必要があります。まだ読んでいないため、読者は何も報告しません。それでRead()を呼び出して、何が起こるか見てみてください。変換では、読み取りも呼び出されます。
XmlReader xmlReader = XmlReader.Create(new StringReader(YourStringValue));