Link to home
Start Free TrialLog in
Avatar of Tapan Pattanaik
Tapan PattanaikFlag for India

asked on

Want to Create an Xml format through C# source code.

Want to generate XML though C#, how to achieve it.

<Message>
<Request>
<Detail>
<TranType>Credit</TranType>
<TranAction>Auth</TranAction>
<Amount>19.99</Amount>
<CurrencyCode>840</CurrencyCode>
</Detail>
<IndustryData>
<Industry>CardNotPresent</Industry>
<Eci>7</Eci>
</IndustryData>
<Account>
<Pan>4111111111111111</Pan>
<Expiration>1217</Expiration>
<Postal>197201234</Postal>
<Address>123 Fake Street</Address>
</Account>
</Request>
<Authentication>
<Client>73</Client>
<Source>1</Source>
</Authentication>
</Message>

Open in new window

Avatar of Éric Moreau
Éric Moreau
Flag of Canada image

in which format is your input data?

check at the "Generate a XML output" section from http://emoreau.com/Entries/Articles/2009/04/Using-LINQ-and-XML-Literals-to-transform-a-DataTable-into-a-HTML-table.aspx
I've had to do this sort of thing with JSON.  From the question I'm spit balling here but I would created a class hierarchy to manage building the the message. The structure of XML lends itself to that nicely.  Each class<like message> would now the tags it would use to wrap itself as well as each field. An taking it in chunks helped me to work out the user interface.

<Message> cMessage
   <Request> cRequest
      <Detail> cDetail
         <TranType>Credit</TranType> member
         <TranAction>Auth</TranAction>member
         <Amount>19.99</Amount>
         <CurrencyCode>840</CurrencyCode>
      </Detail>
      <IndustryData> cIndustryData
         <Industry>CardNotPresent</Industry>
         <Eci>7</Eci>
      </IndustryData>
      <Account>
         <Pan>4111111111111111</Pan>
         <Expiration>1217</Expiration>
         <Postal>197201234</Postal>
         <Address>123 Fake Street</Address>
      </Account>
   </Request>
   <Authentication>
      <Client>73</Client>
      <Source>1</Source>
   </Authentication>
</Message>

Open in new window


The approach is fairly strait forward
Please share with us the source of the input data and its format which will be used to create the XML document.
Avatar of Tapan Pattanaik

ASKER

Hi experts,

from the method I am getting xml string like this  and I want to Keep inside "<Response>" how will I do that.

string clResponse = EncryptDecrypt.DecryptString(ClText, key, iv);

I am getting xml string like this

    <Reference>
        <Guid>3TKYN2H3FKN501J</Guid>
        <TranDate>04/11/2014</TranDate>
        <TranTime>12:18:58</TranTime>
    </Reference>
    <Result>
        <ResponseCode>00</ResponseCode>
        <ResponseText>Query Complete</ResponseText>
    </Result>
    <QueryResponse>
        <Row>
            <Client>177</Client>
            <Dba>Tarang</Dba>
            <Guid>3P9JFLVNFL4VMXN</Guid>
            <TranType>Credit</TranType>
            <TranAction>Sale</TranAction>
            <ResponseCode>00</ResponseCode>
            <ResponseText>Approved</ResponseText>
            <FirstName>John</FirstName>
            <LastName>Doe</LastName>
            <Amount>1.00</Amount>
            <LastFour>1111</LastFour>
            <CardType>Visa</CardType>
            <TranDate>02/16/2014</TranDate>
            <TranTime>11:13:07</TranTime>
            <Status>Settled</Status>
        </Row>
    </QueryResponse>

How I will I save it to a xml file. How will I achieve this ?? Please help me
Hi  TAPAN;

The XML that you posted has no node with the name Response and also has no root node. Which part do you want to get?
How will I add Root node as "<Response>"  in the above xml string which I am receiving from the client and I want to save the above xml file. File should be like this.

<Response>
 <Reference>......</Reference>
 <Result>......</Result>
<QueryResponse>.........</QueryResponse>
</Response>
ASKER CERTIFIED SOLUTION
Avatar of Fernando Soto
Fernando Soto
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank you so much