0

私は初心者です。Plzzはこれで私を助けます。WCF Restアプリケーションでは、次の応答が必要です

<parameterList>    
        <parameter>        
            <Question> Occupation </Question> 

            <Choice> Student/Others </Choice>      
            <Choice> Retired/housewife </Choice>       
            <Choice> Salaried/SelfEmployed </Choice>        
            <Choice> Doctor/CA/Socially Important Person </Choice> 

        </parameter>    
</parameterList>

内容の異なる4つの同じ「選択」タグが必要です。私が得ているのは、最後の「選択」タグだけです。

IService.cs

[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/getQuestion")]
[return: MessageParameter(Name = "parameterList")]
List<parameter> getQuestion();

Service.svc.cs

public List<parameter> getQuestion()
    {
        List<parameter> lstParameter = new List<parameter>();
        parameter param = new parameter();
        param.Question = " Occupation ";
        param.Choice = " Student/Others ";
        param.Choice = " Retired/housewife ";
        param.Choice = " Salaried/SelfEmployed ";
        param.Choice = " Doctor/CA/Socially Important Person ";
        lstParameter.Add(param);
        return lstParameter;
    }

parameter.cs

public class parameter
{
    public string Question
    {
        get{ } set{ }
    }

    public string Choice
    {
        get{ } set{ }
    }
}
4

2 に答える 2

1

解決しました

        [XmlElement("Choice")]

        public List<string> Choice
        {
            get { return aChoice; }
            set { aChoice = value; }
        }

Xml要素の名前を変更するには、プロパティの上に[XmlElement( "")]を追加する必要があります。

ジェームズに感謝します。あなたは役に立ちました。

于 2012-08-07T07:38:26.187 に答える
0

新しい文字列で Choice をオーバーライドし続けます。Choice プロパティはリストである必要があります

   public List<string> Choice
        {
            get { return new List<string>();}
        }

その後、リストに追加できます

param.Choice.add(" Occupation ");
param.Choice.add(" Retired/housewife ");

等....

その後、すべての選択肢をループして、それらを XML に追加する必要があります。

于 2012-07-26T20:11:04.737 に答える