远程xml地址:
http://192.168.2.1:1080/web_xml_logon/user_logon.xml?strName=a&strpwd=b返回的XML表如下:
<?xml version="1.0" encoding="gb2312" ?> 
  <logon_success strname="abcd" age="100" strsex="male" userLevel="1" /> =============我想在后台取得http://192.168.2.1:1080/web_xml_logon/user_logon.xml?strName=a&strpwd=b的表内容,
然后取得strname这个属性于后台使用?怎么做呢?最好有个例子。thanks!

解决方案 »

  1.   

    简单地说就是怎么在页面的后台取得远程xml数据
      

  2.   

    WebClient类的DownloadString(Uri)方法......
      

  3.   

    WebClient位于System.Net命名空间下,通过这个类可以方便的创建Http请求并获取返回内容。一、用法1 - DownloadDatastring uri = "http://192.168.2.1:1080/web_xml_logon/user_logon.xml?strName=a&strpwd=b";
    WebClient wc = new WebClient();
    Console.WriteLine("Sending an HTTP GET request to " + uri);
    byte[] bResponse = wc.DownloadData(uri);
    string strResponse = Encoding.ASCII.GetString(bResponse);
    Console.WriteLine("HTTP response is: ");
    Console.WriteLine(strResponse);
    二、用法2 - OpenRead string uri = "http://192.168.2.1:1080/web_xml_logon/user_logon.xml?strName=a&strpwd=b";
    WebClient wc = new WebClient();
    Console.WriteLine("Sending an HTTP GET request to " + uri);
    Stream st = wc.OpenRead(uri);
    StreamReader sr = new StreamReader(st);
    string res = sr.ReadToEnd();
    sr.Close();
    st.Close();
    Console.WriteLine("HTTP Response is ");
    Console.WriteLine(res);
    三、分析XML
       
                using System.Xml;
                XmlDataDocument xmlDoc = new XmlDataDocument();
                xmlDoc.InnerXml = "<?xml version=\"1.0\" encoding=\"gb2312\" ?><logon_success strname=\"abcd\" age=\"100\" strsex=\"male\" userLevel=\"1\" />";
                XmlNode rootNode = xmlDoc.DocumentElement;
                string strname = rootNode.Attributes[0].Value;
      

  4.   

    xmlreader方法 然后获取地址 然后公开XML 然后读取 解析
      

  5.   

    可以使用asp.net的Respone.Write返回xml
     protected void Page_Load(object sender, EventArgs e)
        {
            //这里可以使用Request.QueryString["strName"];取得参数的值
             //对xml字符串进行替换后返回
            Response.Clear(); 
            Response.ContentType = "text/xml";
           Response.Write("<?xml version='1.0' encoding='ISO-8859-1'?>");
        Response.Write("<note>");
        Response.Write("<from>Jani</from>");
        Response.Write("<to>Tove</to>");
        Response.Write("<message>Remember me this weekend</message>");
        Response.Write("</note>");
        Response.Flush();
        Response.End();    }要访问
    http://192.168.2.1:1080/web_xml_logon/user_logon.ASPX?strName=a&strpwd=b 
    user_logon.ASPX就是上述代码所在的页面
      

  6.   

    qiume同学的可以。期待更多的方法.....
      

  7.   

    觉得写个Web Service比较好