-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

XDocumentLinq スタイルで 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 に答える