关于asp.net的WebService输出XML的问题,很急急急急急...

PEPSI_ICE 2011-09-28 03:04:28
目前我们在给一家公司做内部系统,而有另外一家公司给那个公司做外部网站。网站中有部分信息需要从内部系统获得,因此我编写了WebService接口供其调用。
现在接口编写好了,而且我本地也通过测试,能够读取我的接口所传递的数据。可是网站开发公司工作人员告诉我,他们不能获取我的信息,原因是WebService返回的XML为string类型,他们希望是常规的XML格式,节点清晰。

下面图一是WebService输出的XML格式



图片二是查看该页面源文件是的信息




可以看出图一中"<",">"在图二的源文件中给分别编译成了"<",">"两种字符串。
期待高手帮我解决,我在这里先谢谢各位了。
...全文
258 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
PEPSI_ICE 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 daiyue945 的回复:]

客户端:(添加Web服务引用)
testWebService.AdminService accout = new testWebService.AdminService();

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "text/xml";
HttpContext.……
[/Quote]


//创建一个新的,空的文件
XmlDocument doc = new XmlDocument();
//创建 Columns 根节点
XmlNode ColumnsNode = doc.CreateElement("Columns");

//将 Columns 根节点插入文件
doc.AppendChild(ColumnsNode);

ColumnBLL cBLL = new ColumnBLL();
DataTable dtColumn = cBLL.GetAllColumn();
if (dtColumn != null && dtColumn.Rows.Count > 0)
{
for (int i = 0; i < dtColumn.Rows.Count; i++)
{
//创建第二级目录 product
XmlNode ColumnNode = doc.CreateElement("Column");
ColumnsNode.AppendChild(ColumnNode);

//创建 ColumnID 子节点,并为子节点赋值,将子节点插入 Column 节点下面
XmlNode ColumnIDNode = doc.CreateElement("ColumnID");
string id = dtColumn.Rows[i]["ColumnID"].ToString();
XmlText xmlColumnID = doc.CreateTextNode(id);
ColumnIDNode.AppendChild(xmlColumnID);
ColumnNode.AppendChild(ColumnIDNode);

//创建 LightTime 子节点,并为子节点赋值,将子节点插入 Column 节点下面
XmlNode LightTimeNode = doc.CreateElement("LightTime");
string LightTime = dtColumn.Rows[i]["LightTime"].ToString();
XmlText TextLightTime = doc.CreateTextNode(LightTime);
LightTimeNode.AppendChild(TextLightTime);
ColumnNode.AppendChild(LightTimeNode);
}
}
return doc.OuterXml;


上面是我在Webservice方法中写的代码,这样写不行吗?
弦弦 2011-09-28
  • 打赏
  • 举报
回复
这应该是编码问题,我发一下我做的一个,你参考下。

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);//创建一个HttpWebRequest对象
HttpWebResponse response = (HttpWebResponse)req.GetResponse();//根据创建的HttpWebRequest来创建HttpWebResponse对象
Stream mystream = response.GetResponseStream();//取得返回后的stream
StreamReader mystreamReader = new StreamReader(mystream);//把Stream转换为StreamReader
string strtxt = mystreamReader.ReadToEnd();//读取出返回的内容
半瓶神仙水 2011-09-28
  • 打赏
  • 举报
回复
客户端:(添加Web服务引用)
testWebService.AdminService accout = new testWebService.AdminService();

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "text/xml";
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.Write(accout.xmlStr());
HttpContext.Current.Response.End();


让做网站的同事设置下格式

62,046

社区成员

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

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

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

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