In this blog post I'm going to explain you on how to
return an object of type "DataSet" from a web service (SOAP) method.
In general when we return any type from a web method, it
returns XML formatted string which then need to be parsed to get the resultant
output. Whether it is a simple or any complex object type like Collections
or generic list
However, when we returning a DataSet the resultant output
will include table data along with the Schema.
So, if we need data with schema then it is well &
good.
What can we do to get only data and eliminate the schema
from the DataSet?
The following code explains how we can achieve this:
DataSet ds = //... Use your
logic to get DataSet from some DB/source
string xmlContent = ds.GetXml();
System.Xml.XmlDocument doc = new
System.Xml.XmlDocument();
doc.LoadXml(xmlContent);
System.Xml.XmlNode newNode =
doc.DocumentElement;
return newNode;
GetXml method will return all the xml code in
string variable for the corresponding DataSet (including schema).
Creating an XmlDocument object and load the Xml string using LoadXml method
Then we need to return DocumentElement of XmlDocument
class to get only data excluding schema.
There is another technique to do the same with less
effort, using Linq. Although, I never tried this to confirm..
//// When Using LINQ
//XElement newNode = XDocument.Parse(xmlContent).Root;
Try this and let me know if there are any other ways...
No comments:
Post a Comment