I will be passing the xml file like this:
File1.PostedFile.InputStream
//reading xml file.....
public static void readXMLOutput(Stream stream)
{
System.Xml.Linq.XDocument xml = System.Xml.Linq.XDocument.Load(stream);
var query = from p in xml.Element("ste").Element("Application")
//where (int)p.Element("Id") == 1
select Page;
foreach (var record in query)
{
Response.Write("dfe") + record.Element("dfe").Value;
}
error:
Error 1 The best overloaded method match for 'System.Xml.Linq.XDocument.Load(string)' has some invalid arguments
cannot convert from 'System.IO.Stream' to 'string'
Are you using .NET 3.5 by any chance? XDocument.Load(Stream)
apparently only arrived in .NET 4.
You might want to use the overload which takes an XmlReader
(which is supported in 3.5).
EDIT: Sample code:
static XDocument LoadFromStream(Stream stream)
{
using (XmlReader reader = XmlReader.Create(stream))
{
return XDocument.Load(reader);
}
}
The XDocument.Load(Stream)
method is new in .NET 4. For earlier versions of the framework, you need to read the stream first and pass it in as a string:
public static void readXMLOutput(Stream stream){
string streamContents;
using(var sr = new StreamReader(stream)){
streamContents = sr.ReadToEnd();
}
var document = XDocument.Parse(streamContents);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With