Solved

C# code to create this XML file

Posted on 2010-09-06
10
509 Views
Last Modified: 2012-05-10
Could you please post the C# code to create the attached XML file ?

I googled and got many tutorials, but seems to be confusing. Hope some experienced hands can write it soon.

I tried. But result is not as expected! I am sure this is not the right way (See the attached code I tried with. This is not the final code - by undo/redo lost some)

Attachments:-
1. The code I tried
2. XML file that need to be created with C# code.

Thanks
Raj
public void writeXML()

    {

        // Create a new file in C:\\ dir



            XmlTextWriter textWriter = new XmlTextWriter("C:\\myXmFile.xml", null);



            // Opens the document 



            textWriter.WriteStartDocument();





            // Write first element



            textWriter.WriteStartElement("soapenv:Envelope");



            //textWriter.WriteStartElement("r", "RECORD", "urn:record");

            textWriter.WriteStartElement("ws", "Authentication", "xmlns");





            // Write next element



            textWriter.WriteStartElement("username", "");



            textWriter.WriteString("123");



            textWriter.WriteEndElement();



            // Write one more element



            textWriter.WriteStartElement("password", "");

            textWriter.WriteString("test@123");



            textWriter.WriteEndElement();





            // Ends the document.



            textWriter.WriteEndDocument();



            // close writer



            textWriter.Close();

    }

Open in new window

myXML.xml
0
Comment
Question by:Rajkumar Gs
  • 8
  • 2
10 Comments
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
Comment Utility
Give this a whirl:
            string soapNS = "http://schemas.xmlsoap.org/soap/envelope";

            string wsNS = "http://schemas.abc.com/message";



            XmlTextWriter writer = new XmlTextWriter("C:\\test.xml", Encoding.UTF8);

            writer.WriteStartDocument();



            // write root element and namespaces

            writer.WriteStartElement("soapenv", "Envelope", soapNS);

            writer.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");

            writer.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

            writer.WriteAttributeString("xmlns:ws", wsNS);



            // Header

            writer.WriteStartElement("Header", soapNS);

            writer.WriteStartElement("ws:Authentication");

            writer.WriteElementString("username", "123");

            writer.WriteElementString("password", "test@123");

            writer.WriteEndElement();

            writer.WriteEndElement();

            // End of Header



            // Body

            writer.WriteStartElement("Body", soapNS);



            // createUser

            writer.WriteStartElement("ws:createUser");

            writer.WriteElementString("transID", "5105105101");

            writer.WriteElementString("propertyID", "684159968");

            writer.WriteElementString("entityID", "5101");



            // EntityDetail

            writer.WriteStartElement("EntityDetail");

            writer.WriteElementString("Description", "Test Company");

            

            // MainAddress

            writer.WriteStartElement("MainAddress");

            writer.WriteElementString("Address1", "100 Street");

            writer.WriteElementString("City", "My City");

            writer.WriteElementString("Zip", "10011");

            writer.WriteElementString("State", "My State");

            writer.WriteElementString("Country", "My Country");

            writer.WriteEndElement();

            // End of MainAddress



            // BillingAddress

            writer.WriteStartElement("BillingAddress");

            writer.WriteElementString("Address1", "100 Street");

            writer.WriteElementString("City", "My City");

            writer.WriteElementString("Zip", "10011");

            writer.WriteElementString("State", "My State");

            writer.WriteElementString("Country", "My Country");

            writer.WriteEndElement();

            // End of BillingAddress



            // End EntityDetail

            writer.WriteEndElement();



            // End createUser

            writer.WriteEndElement();



            // End Body

            writer.WriteEndElement();



            // End Envelope

            writer.WriteEndElement();



            writer.Close();

Open in new window

0
 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
Thanks carl_tawn !!

After checking your code, I will post my comment

Raj
0
 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
Great help Carl!

Only small problem remains.

<soapenv:Envelope
xmlns:ws="http://schemas.abc.com/message"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope">  


should be

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ws="http://schemas.workspeed.com/message/">

Means the order in which it appeared is reversed. I tried to reverse the order of that part of the your C# code. But it is not coming in the original order. How can I correct it.

Thanks Again
Raj
0
 
LVL 52

Expert Comment

by:Carl Tawn
Comment Utility
The order they come out in shouldn't matter. Is there a particular reason you need them in a specific order?
0
 
LVL 23

Author Closing Comment

by:Rajkumar Gs
Comment Utility
No! If it will not affect the functionality, it doesn't matter.

Thanks great for your help, dude.

EE:- "Save each of the employees 3 hours a week" -- It's don't agree with it. It saves more than 3 hours :)
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
Can you please help me on this question as well.
http://www.experts-exchange.com/Web_Development/Web_Services/Q_26449671.html

Raj
0
 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
Thanks once again Carl. I appreciate your help greatly as it saved a lot of my time.

Can you say why when I posted this XML to my webservice, showing only "Internal Server Error", instead of displaying the exact error message ?

Here is the question, which is in progress now...
http://www.experts-exchange.com/Web_Development/Web_Services/Q_26449671.html

Raj
0
 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
0
 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
0
 
LVL 23

Author Comment

by:Rajkumar Gs
Comment Utility
New One - Very similar question - a Simple one!
http://www.experts-exchange.com/Programming/Languages/.NET/Q_26497236.html

Please try
Raj
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Browsing the questions asked to the Experts of this forum, you will be amazed to see how many times people are headaching about monster regular expressions (regex) to select that specific part of some HTML or XML file they want to extract. The examp…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now