ASP.net Web方法:
[WebMethod()]
public Data.Subtitle[] GetAll()
{
return Data.Subtitle.FindAll();
}
这是字幕类:
[ActiveRecord("Subtitle")]
public class Subtitle : ActiveRecordBase<Subtitle>
{
[PrimaryKey(PrimaryKeyType.Assigned)]
public int SubId {get;set;}
[Property()]
public int SubStreamId {get;set;}
[Property()]
public string SubTimeStart {get;set;}
[Property()]
public string SubTimeEnd {get;set;}
[Property()]
public string SubText {get;set;}
public Subtitle () { }
}
XML返回:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfSubtitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<Subtitle>
<SubId>862</SubId>
<SubStreamId>1</SubStreamId>
<SubTimeStart>00:01:04.4450000</SubTimeStart>
<SubTimeEnd>00:01:08.2450000</SubTimeEnd>
<SubText>Wikus van de Merwe
MNU Alien Affairs
</SubText>
</Subtitle>
<Subtitle>
<SubId>863</SubId>
<SubStreamId>1</SubStreamId>
<SubTimeStart>00:02:11.3430000</SubTimeStart>
<SubTimeEnd>00:02:14.8430000</SubTimeEnd>
<SubText>Sarah Livingstone
Sociologist, Kempton Park University
</SubText>
</Subtitle>
我喜欢用一行代码将数据对象作为Web服务呈现的简单性,但是我似乎无法在没有“ ArrayOf”前缀的情况下序列化
Subtitle
对象的数组。我在Google上的旅行向我指出了Mono或手动序列化所不具备的WCF功能,而我正努力避免这种功能。有没有一种简单的方法可以在Mono中将字幕对象数组表示为
<Subtitles>
?
最佳答案
记录一下:我使用了一个技巧,在我的示例中,xml被序列化然后解析为字符串,因此我正在管理一个包含xml的字符串
var arr = myStr.Split(new char[] {'\n'}, StringSplitOptions.None);
var arr2 = "";
for (int i = 2; i < arr.Count()-1;i++ )
{
arr2 += arr[i];
}
它剪切了0行(xml),1行(arrayofsubtitle)和最后一行(/ arrayofsubtitle):
:-3
关于asp.net - 获取“ArrayOf”前置于由ASP.NET Web服务使用Mono返回的XML表示形式的ActiveRecord对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758979/