ich einige Fragen zu sehen, die so nahe sind, aber keiner es genau abdecken:Trans XML zurückgegeben von einer Web-Anfrage mit 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
ich kann Gebt etwas zusammen, aber ich mache mir Sorgen, dass ich es zu viele Schritte durchführe, um effizient zu sein.
Was ich derzeit habe, ist dies, XML von einer HTTP-Web-Anfrage zu lesen:
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(stream);
string xml = streamReader.ReadToEnd();
Dieser vor der Notwendigkeit, war ein XLST Transformation anzuwenden war erforderlich. Jetzt habe ich ein (möglicherweise Null) XslCompiledTransform
Objekt.
Deshalb möchte ich einen Block hinzufügen:
if(transform != null)
{
xml = transform.Transform(xml);
}
Offensichtlich dies nicht möglich ist, wie geschrieben. Ich sehe StringReaders und XmlReaders kann erstellt werden, aber ist es ineffizient, meine XML als Zeichenfolge zu erhalten und dann in ein anderes Objekt zurück zu schieben? Kann ich meine Objekte stream
oder streamReader
direkt verwenden, um den gleichen grundlegenden Ablauf zu unterstützen, jedoch mit optionaler Transformation?
Mein Problem ist möglicherweise nicht eine Transformation und ich möchte nicht zwei ganz unterschiedliche Code-Pfade. Vielleicht kenne ich diese Klassen einfach nicht genug, um zu sehen, wie das zusammenhängt ... Könnten Sie Beispielcode (Pseudo ist in Ordnung) bereitstellen? –
Siehe Code in Antwort - danke für das Hinzufügen! –