我正在关注一个例子。但是Visual Studio说XmlDataDocument
已经过时了。那么如何在没有XmlDataDocument的情况下运行这段代码。
public XmlElement GetUserDetails(string userName)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
conn.Open();
SqlCommand cmd=new SqlCommand("select * from Orders where ShipName like @name +'%'",conn);
SqlDataAdapter adp=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
cmd.Parameters.AddWithValue("@name",userName);
cmd.ExecuteNonQuery();
adp.Fill(ds);
conn.Close();
XmlDataDocument data=new XmlDataDocument(ds);
XmlElement elemment=data.DocumentElement;
return elemment;
}
答案 0 :(得分:0)
尝试在System.Xml.Linq命名空间中使用XElement和XDocument类型。
使用像这样的扩展方法可以轻松转换
public static XmlElement ToXmlElement(this XElement el)
{
var doc = new XmlDocument();
doc.Load(el.CreateReader());
return doc.DocumentElement;
}
然后,您的方法的最后3行只需要替换为。
var data=new XDocument(ds);
var element = data.Root;
return element.ToXmlElement();
可以缩短为
return new XElement(ds).ToXmlElement();
XElement类型有许多有用的特性。例如,可以通过调用Elements()扩展方法来查询它,该方法返回IEnumerable< XElement>。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement(v=vs.110).aspx。