我有一个提供XML数据的链接。我想在我的应用程序中处理数据。
如何在C#中处理此问题?
通过XmlReader或我是否需要下载XML数据
哪一种是最佳方式?
答案 0 :(得分:3)
您可以通过此链接获取xml文档
using (WebClient wc = new WebClient())
{
string xml = wc.DownloadString(url);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
}
不,您可以使用System.Xml.Linq来解析xmlDoc
// Create the query
var custs = from c in xmlDoc.Elements("Customers")
select c ;
// Execute the query
foreach (var customer in custs)
{
Console.WriteLine(customer);
}
答案 1 :(得分:0)
我使用XDocument
因为它使得以Linq样式查询xml变得非常简单。
除非你有非常特殊的需求或限制,否则我认为这是最方便的。
答案 2 :(得分:0)
首先在xml文件中下载您的数据然后 您可以将此代码用于xml读取
XmlTextReader xmlreader = new XmlTextReader(Server.MapPath("filename.xml"));
DataSet ds = new DataSet();
ds.ReadXml(xmlreader);
DataTable dt = new DataTable();
dt = (DataTable)ds.Tables[0];
我希望这会对你有所帮助
答案 3 :(得分:0)
使用XmlSerializer将您收到的字符串反序列化为对象图:
public T Deserialize<T>(string xml)
{
T deserialized;
XmlSerializer xmlSerializer= new XmlSerializer(typeof(T));
using (StringReader stringReader = new StringReader(xml))
{
var xmlReaderSettings = new XmlReaderSettings(); //
using (XmlReader xmlReader = XmlReader.Create(stringReader, xmlReaderSettings))
{
xmlReader.MoveToContent();
deserialized = (T)xmlSerializer.Deserialize(xmlReader);
}
}
return deserialized;
}
答案 4 :(得分:0)