Solved

C# code to create this XML file

Posted on 2010-09-06
10
515 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
ID: 33611771
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
ID: 33611842
Thanks carl_tawn !!

After checking your code, I will post my comment

Raj
0
 
LVL 23

Author Comment

by:Rajkumar Gs
ID: 33612056
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
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

 
LVL 52

Expert Comment

by:Carl Tawn
ID: 33612405
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
ID: 33615055
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
 
LVL 23

Author Comment

by:Rajkumar Gs
ID: 33615061
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
ID: 33617437
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
ID: 33714687
0
 
LVL 23

Author Comment

by:Rajkumar Gs
ID: 33751807
0
 
LVL 23

Author Comment

by:Rajkumar Gs
ID: 33753728
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

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

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…
Many times as a report developer I've been asked to display normalized data such as three rows with values Jack, Joe, and Bob as a single comma-separated string such as 'Jack, Joe, Bob', and vice versa.  Here's how to do it. 
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

808 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