Я вижу несколько вопросов, которые близки к этому, но никто точно не покрывающие его:преобразования XML вернулся из веб-запроса с использованием XLST
- How to apply an XSLT Stylesheet in C#
- XSLT Transform of XML using Xml data from a web form
- How to transform an xml structure generated from a request to a web services
я могу что-то вместе с ними, но я беспокоюсь, что прохожу через слишком много шагов, чтобы быть эффективными.
То, что я в настоящее время это, чтобы прочитать XML из HTTP веб-запроса:
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(stream);
string xml = streamReader.ReadToEnd();
Это было до того, необходимость применения необходима трансформирующего XLST. Теперь у меня есть (возможно, нулевой) объект XslCompiledTransform
.
Так что я хочу, чтобы добавить блок, как:
if(transform != null)
{
xml = transform.Transform(xml);
}
Очевидно, что это невозможно, так как написано. Я вижу, что StringReaders и XmlReaders могут быть созданы, но неэффективно ли получить мой xml в виде строки, а затем вернуть ее обратно в другой объект? Могу ли я использовать объекты stream
или streamReader
непосредственно для поддержки одного и того же базового потока, но с необязательной трансформацией?
Моей проблемой может быть не преобразование, и я не хочу двух совершенно разных кодов кода. Может быть, я просто не знаком с этими классами, чтобы понять, как это будет висеть вместе ... не могли бы вы предоставить код (псевдо-штраф)? –
См. Код в ответе - спасибо за добавление! –