本文介绍了从Web服务返回的XML数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是创建一个Web服务,它返回一组的x,y坐标的最好方法?我不知道这是最好的回报类型的对象。当消费的服务,我想拥有它回来为XML preferibly这样的事情,例如:
What is the best way to create a web service that returns a set of x,y coordinates? I am not sure on the object that is the best return type. When consuming the service I want to have it come back as xml preferibly something like this for example:
<TheData>
<Point>
<x>0</x>
<y>2</y>
</Point>
<Point>
<x>5</x>
<y>3</y>
</Point>
</TheData>
如果有人有更好的结构返回,请帮助我新的这一切。
If someone has a better structure to return please help I am new at all this.
推荐答案
由于您使用的是C#,这是很容易。我的代码是假设你不需要反序列化,只是一些XML为客户端解析:
Since you are using C#, it is pretty easy. My code is assuming you don't need deserialization, just some XML for a client to parse:
[WebService(Namespace = "http://webservices.mycompany.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class PointService : WebService
{
[WebMethod]
public Points GetPoints()
{
return new Points(new List<Point>
{
new Point(0, 2),
new Point(5, 3)
});
}
}
[Serializable]
public sealed class Point
{
private readonly int x;
private readonly int y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
private Point()
{
}
[XmlAttribute]
public int X
{
get
{
return this.x;
}
set
{
}
}
[XmlAttribute]
public int Y
{
get
{
return this.y;
}
set
{
}
}
}
[Serializable]
[XmlRoot("Points")]
public sealed class Points
{
private readonly List<Point> points;
public Points(IEnumerable<Point> points)
{
this.points = new List<Point>(points);
}
private Points()
{
}
[XmlElement("Point")]
public List<Point> ThePoints
{
get
{
return this.points;
}
set
{
}
}
}
这篇关于从Web服务返回的XML数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!