【问题标题】:How to parse a XML string from webservice using C# [duplicate]如何使用 C# 解析来自 web 服务的 XML 字符串 [重复]
【发布时间】:2015-09-17 17:04:56
【问题描述】:

在 bovespa 网站有一个包含股票报价信息的网络服务

http://www.bmfbovespa.com.br/Pregao-Online/ExecutaAcaoAjax.asp?CodigoPapel=petr4

<ComportamentoPapeis>
    <Papel Codigo="PETR4" 
           Nome="PETROBRAS PN" 
           Ibovespa="#" 
           Data="10/07    /201400:00:00" 
           Abertura="17,78" 
           Minimo="0,00" 
           Maximo="18,17" 
           Medio="17,97" 
           Ultimo="18,11"      
           Oscilacao="4,50" 
           Minino="17,62"/>
</ComportamentoPapeis>

我正在尝试阅读此 xml 并使用此代码导航到他:

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace stock_analysis
{
    class Teste
    {
        public static void Main (string[] args)
        {
            const string URL = "http://www.bmfbovespa.com.br/Pregao-Online/ExecutaAcaoAjax.asp?CodigoPapel=petr4";
            // Create a request for the URL. 
            WebRequest request = WebRequest.Create (URL);
            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            WebResponse response = request.GetResponse ();
            // Display the status.
            //Console.WriteLine (((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream ();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd ();
            // Display the content.

            //Console.WriteLine (responseFromServer);
            // Clean up the streams and the response.

            //StringBuilder output = new StringBuilder();


            String xmlString = responseFromServer;

            //Console.WriteLine ("----\n {0}\n -------", xmlString);

            XElement xmlTree = XElement.Parse(xmlString);

            Console.WriteLine (xmlTree);

            reader.Close ();
            response.Close ();
        }
    }
}

如何导航到这个 XML?

【问题讨论】:

  • 不只是一个骗子,还有“我怎样才能导航到这个 XML?”是模糊的。

标签: c# xml web-services


【解决方案1】:

阅读此 MS 文档以获取示例:

Querying an XDocument vs. Querying an XElement

它显示了 2 个选项。当然,您需要使用XElement.ParseXDocument.Parse 而不是Load

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2012-03-23
    • 2018-06-21
    相关资源
    最近更新 更多