Hi, I am new to this Forum and I hope my question is not out of scope. The following 4 lines of C# code allow me output specific fields from my XML to an HTML file (result.html). The code works fine when I have an XML file (sample1.xml) and an XSLT file (sample1.xslt) as an input. Now I want to modify this code to be able to input a string (the same XML code) instead of an actual XML file.

XPathDocument myXPathDoc = new XPathDocument("sample1.xslt");
XslTransform myXslTrans = new XslTransform();


XmlTextWriter myWriter = new XmlTextWriter("result.html", null);

myXslTrans.Transform(myXPathDoc, null, myWriter);

I am looking for a way to stream a string to that XPathDocument() or any other solution is welcome...

7 Years
Discussion Span
Last Post by etm9413

Hello etm9413 and welcome to daniweb! :)

Please use code tags when you paste your code:

[code=c#] ...code here


As far as your question the subject is a leading misleading as this is not streaming XML. Here is how you can convert a string to a stream. I'm not familiar with the classes you are using so I can't give you a complete code sample:

string sampleXMLData = @"<xml><sample>a</sample></xml>";
      using (MemoryStream ms = new MemoryStream(System.Text.ASCIIEncoding.UTF8.GetBytes(sampleXMLData)))
        ms.Position = 0;
        ms.Seek(0, SeekOrigin.Begin);
        XPathDocument xmlDoc = new XPathDocument(ms);

Ok Thanks sknake,
your code works fine for me and I will make sure to post my code in an appropriate manner next time. Thanks again

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.