-1

我有一个提供 XML 数据的链接。我想处理我的应用程序中的数据。

如何在 C# 中处理这个问题?

通过 XmlReader 还是我需要下载 XML 数据

哪一种是最佳方式?

4

5 回答 5

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); 
}
于 2012-09-29T05:47:32.840 回答
0

我使用XDocument它是因为它使得以 Linq 样式查询 xml 变得非常简单。除非您有非常特殊的需求或限制,否则我认为这是迄今为止最方便的。

于 2012-09-29T05:26:30.043 回答
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];

我希望这能帮到您

于 2012-09-29T05:27:57.343 回答
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;
}
于 2012-09-29T05:48:11.713 回答
0

见下图。

在此处输入图像描述

您将需要以下命名空间: System.Xml; 要了解 XPath 的工作原理,请访问:http: //www.w3schools.com/xpath/default.asp

于 2012-09-29T05:49:47.217 回答