更改xml的格式

时间:2013-07-24 08:10:20

标签: c# xml web-services xml-parsing

我正在.net创建一个web服务:

WebService:

   public class ValidateWebService : System.Web.Services.WebService
    {

        [WebMethod]

        public List<string> ListAllArtists1()
        {
            List<string> all1 = new List<string>();

            all1.Add("Puneet");
            all1.Add("03/07/1988");
            all1.Add("Delhi");
            return all1;
        }

        }
} 

当我浏览这个web服务并调用该方法时,它会返回一个xml格式的列表,如下所示:

 <?xml version="1.0" encoding="utf-8" ?>   
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">  
  <string>Puneet</string>  
  <string>03/07/1988</string>  
  <string>Delhi</string>  
  </ArrayOfString> 

我的问题是这个xml的格式。我想要像这样的xml格式:

<Name>1</Name>  
<DOB>03/07/1988</DOB>  
<State>Delhi</State>

这样我就可以通过其节点的名称轻松读取xml。

请帮忙。

1 个答案:

答案 0 :(得分:2)

如果你想要这种格式的xml,那么返回对象而不是字符串集合:

public Artist GetArtist()
{
    Artist artist = new Artist();
    artist.Name = "Puneet";
    artist.DOB = "03/07/1988"; // consider DateTime type
    artist.State = "Delhi";

    return artist;
}

这将返回序列化的Artist实例:

<Artist>
    <Name>Puneet</Name>
    <DOB>03/07/1988</DOB>
    <State>Delhi</State>
</Artist>