Bunu daha önce XML ile değil, bir uygulama için durum değişikliği için ayrıştırılması gereken verilerle yaptım. HttpWebResponse.GetResponseStream() yöntemi bunun için iyi çalıştı. İşiniz bittiğinde bu akıştaki Close() öğesini çağırdığınızdan emin olun. Sonunda bir engel öneririm. alternatif
HttpWebRequest req;
try
{
req = (HttpWebRequest)WebRequest.Create("http://www.example.com");
Stream stream = req.GetResponseStream();
byte[] data = new byte[4096];
int read;
while ((read = data.Read(data, 0, data.Length)) > 0)
{
Process(data, read);
}
}
finally
{
if (req != null)
req.Close();
}
Veya:
HttpWebRequest req;
try
{
req = (HttpWebRequest)WebRequest.Create("http://www.example.com");
Stream stream = req.GetResponseStream();
XmlTextReader reader = new XmlTextReader(stream);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.CDATA:
Console.Write("<![CDATA[{0}]]>", reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
Console.Write("<!--{0}-->", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(reader.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
}
finally
{
if (req != null)
req.Close();
}
Kodun çalışması için bazı küçük düzeltmelerin yapılması gerektiğini düşünüyorum. HttpWebRequest.GetResponseStream() yöntemi yoktur. Sen 'HttpWebRequest.GetResponse()' kullanarak 'HttpWebResponse' nesneyi almak gerekir ve bu konuda' GetResponseStream() 'diyoruz. Ayrıca 'nihayet' bloğunda 'req' kullanılmayacak, daha önce de belirtilen 'Response'. – scherand
ben sadece gerçek bir projesinden, bellekten dışarı daktilo, kabul etti. – esac
Bu XML ile nasıl çalışır? XML, tüm xml dokümanı indirilene kadar geçersiz olurdu, bu tür akışları amaçlayan bir yenilgi. – swestner