请问如何根据url读取XML?

Dhammacakkhu 2009-09-24 12:41:53
这个URL不是指向一个特定的XML文件, 而是服务器会根据这串url生成xml信息。

这样该怎么读取?
...全文
262 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
andyliuxiaobo 2011-04-16
  • 打赏
  • 举报
回复
我的就得不到 子节点的信息 都是空的!!求助!!!
saccershui 2010-01-31
  • 打赏
  • 举报
回复
你好,我用你的代码,然后get豆瓣的信息,但是返回值中中文是乱码?怎么做?
是直接使用函数:
public static string getModle(string myUrl)
{
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Url);
Request.Accept = "gzip, deflate";
Request.ContentType = "application/x-www-form-urlencoded";
Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)";
Request.KeepAlive = true;
Request.AllowAutoRedirect = false;
Request.Method = "GET";

HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();

Stream _Stream = Response.GetResponseStream();
string reString = "";
if (_Stream.CanRead)
{
using (StreamReader ReadStream = new System.IO.StreamReader(_Stream, Encoding.Default))
{
reString = ReadStream.ReadToEnd();
ReadStream.Close();
}
}
Response.Headers.GetValues("Location");
_Stream.Close();
Response.Close();
return reString;

}
Dhammacakkhu 2009-09-25
  • 打赏
  • 举报
回复
解决了,代码如下:



HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Url);
Request.Accept = "gzip, deflate";
Request.ContentType = "application/x-www-form-urlencoded";
Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)";
Request.KeepAlive = true;
Request.AllowAutoRedirect = false;
Request.Method = "GET";

HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();

Stream _Stream = Response.GetResponseStream();
string reString = "";
if (_Stream.CanRead)
{
using (StreamReader ReadStream = new System.IO.StreamReader(_Stream, Encoding.Default))
{
reString = ReadStream.ReadToEnd();
ReadStream.Close();
}
}
Response.Headers.GetValues("Location");
_Stream.Close();
Response.Close();



haihuan23 2009-09-25
  • 打赏
  • 举报
回复
URL里肯定包含了XML的信息.
mingxingxia 2009-09-25
  • 打赏
  • 举报
回复
学习
lovezhxf 2009-09-25
  • 打赏
  • 举报
回复
关注 。。。
红街咖啡 2009-09-24
  • 打赏
  • 举报
回复
帮你顶个。
Dhammacakkhu 2009-09-24
  • 打赏
  • 举报
回复
接口用的是https,用httpwebrequest/httpwebresponse 老是读不出来。。。
zhgroup 2009-09-24
  • 打赏
  • 举报
回复
那你就使用httpwebresponse/httpwebrequest先将数据提交给建行的接口,然后读取它返回的数据,自己解析后,再输出到客户端
Dhammacakkhu 2009-09-24
  • 打赏
  • 举报
回复
是这样的, 这是建行的查询接口,根据URL里的信息, 建行自动在新打开的IE窗口页面产生XML信息, 这个XML应该是动态生成的, 没有任何ID标示。
mail_ricklee 2009-09-24
  • 打赏
  • 举报
回复
1.Spring.Net动态反射WCF restful Web服务
2.JQuery ajax或者后台HttpWebResponse方式或者数据
3.如果要考虑数据大小和效率,可以采用google protobuf

当然,比较优化的方式
具体代码可以参考FortuneBase
参考地址www.cnblogs.com/mail-ricklee
ch219888 2009-09-24
  • 打赏
  • 举报
回复
不懂顶个
liaoyukun111 2009-09-24
  • 打赏
  • 举报
回复
JF
游北亮 2009-09-24
  • 打赏
  • 举报
回复
服务器端,有XmlDocument类,这个类有Load,和LoadXML方法;
客户端,有Xmldom对象,也有load,和loadXML方法;
var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');

Load方法的参数可以是文件,也可以是url
如:xmlDoc.load("c:\\a.xml");或xmlDoc.load("http://www.a.com/a.xml");

LoadXML方法的参数是字符串,如:
xmlDoc.loadXML("这里是xml内容");
zhgroup 2009-09-24
  • 打赏
  • 举报
回复
URL中应该有唯一标识吧,根据这个标识读取XML文件,与读取数据库类似
宝_爸 2009-09-24
  • 打赏
  • 举报
回复
你问的是服务器端还是客户端?
如果使用Web Service就简单点。
[WebMethod]
string GetXml(int id) //参数你自己设计。
客户端可以使用add web reference生成代理类。直接调用这个代理类即可
参考:

如果不适用web service,而是web site。
服务器端使用Response.write返回字符串。
示例:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Write(Request["request"].ToString() + " 1111"); //你需要根据参数取得数据,并组合成xml

Response.End();

}

客户端使用HttpWebRequest发送请求,并取得结果
示例
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost:2370/Default.aspx?request=aaa");

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();

Char[] read = new Char[256];

StreamReader readStream = new StreamReader(receiveStream);
int count = readStream.Read(read, 0, 256);//我的简单示例,会read中是aaa 1111

readStream.Close();

response.Close();
litujiao 2009-09-24
  • 打赏
  • 举报
回复
这个url应该包含一些信息,比如数据库里面的id或者文件名之类,你可以根据这些信息找出服务器上相应的数据生成xml文件

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧