Преобразование объектов переноса данных в XmlElement - PullRequest
0 голосов
/ 22 июля 2011

У меня есть Dataobject, который выглядит следующим образом

namespace WCFDemo
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
    public partial class pricinginput
    {
        /// <remarks/>
        public aRequest request;
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
    public partial class aRequest
    {   
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string input1;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string input2;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string input3;
    }
}

и Service Operation, как

public string pricinginput(pricinginput sourceValue)
{
    return string.Format("You entered: {0}", 2323);
}

, чтобы вызвать службу, которую я должен сделать

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://Server/Service" xmlns:wcf="http://schemas.datacontract.org/2004/07/WCFDemo">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:pricinginput>
         <!--Optional:-->
         <ser:sourceValue>
            <wcf:request>
               <wcf:input1>?</wcf:input1>
               <wcf:input2>?</wcf:input2>
               <wcf:input3>?</wcf:input3>
            </wcf:request>
         </ser:sourceValue>
      </ser:pricinginput>
   </soapenv:Body>
</soapenv:Envelope>

Как преобразовать значение источника в xmlelemet, который выглядит как belwo, мой datacontext уже определяет элемент данных как атрибут для input1, inptu2 ...

<pricinginput>
    <sourcevalue>
                <request    input1="" input2="" input3=""/>
            <sourcevalue>
</pricinginput>

1 Ответ

0 голосов
/ 22 июля 2011

Как насчет этого: вы могли бы самостоятельно разработать сериализатор и затем сериализовать объект в свой собственный XML-формат?

...