开发者

Getting "ArrayOf" prepended to arrays of ActiveRecord objects in XML representation returned by asp.net webservice with Mono

开发者 https://www.devze.com 2022-12-11 16:15 出处:网络
ASP.net web method: [WebMethod()] public Data.Subtitle[] GetAll() { return Data.Subtitle.FindAll(); } Here\'s the Subtitle class:

ASP.net web method:

[WebMethod()]
public Data.Subtitle[] GetAll()
{
    return Data.Subtitle.FindAll();
}

Here's the Subtitle class:

[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 () { }
}

And here's the XML coming back:

<?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>

I love the simplicity of presenting the data objects as a webservice with one line of code, but I can't seem to get the array of Subtitle objects serialized without the "ArrayOf" prefix. My trips through Google have pointed me to WCF facilities that aren't available on Mono, or manual serialization, which I am trying to avoid.

Is there an easy way to present th开发者_运维百科e array of Subtitle objects as <Subtitles> in Mono?


for the record :i use a dirt trick, In my example the xml is serialized then parsed as string, so i am managing a string that contain a xml

var arr = myStr.Split(new char[] {'\n'}, StringSplitOptions.None);
var arr2 = "";
for (int i = 2; i < arr.Count()-1;i++ )
{
    arr2 += arr[i];
}

it cut the lines 0 (xml),1 (arrayofsubtitle) and last (/arrayofsubtitle):

:-3

0

精彩评论

暂无评论...
验证码 换一张
取 消