ASP.net网络方法:
[WebMethod()]
public Data.Subtitle[] GetAll()
{
return Data.Subtitle.FindAll();
}
这是Subtitle类:
[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>
?
答案 0 :(得分:1)
用于记录:我使用污垢技巧,在我的示例中,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