-1

I have the following XML string that I need to parse(break). Any body know what is the code to be used? I can provide my code if need it.

<?xml version='1.0' encoding='ISO-8859-1'?>
<SystemGenerator-Document>
    <TN>42</TN>
    <OC>CR</OC>
    <HN>738</HN>
    <USERID>xxx</USERID>
    <WS>FACTORY</WS>
    <OBJID>254209</OBJID>
    <SystemGenerator-Process>
        <RNO>247989</RNO>
        <RSNO>1</RSNO>
        <OBJID>254209</OBJID>
        <ARR>03.11.2009</ARR>
        <DEP>21.11.2009</DEP>
        <NOPAX>2</NOPAX>
        <RT>1</RT>
        <SystemGenerator-Person>
            <ARR>03.11.2009</ARR>
            <DEP>21.11.2009</DEP>
            <PCIID>700842</PCIID>
            <HASPREV>FALSE</HASPREV>
            <HASSUCC>FALSE</HASSUCC>
            <NOPAX>1</NOPAX>
            <SF>N</SF>
            <GID>535372</GID>
            <SN>Torres</SN>
            <CN>Xavier</CN>
            <LN></LN>
            <VIP></VIP>
            <STREET></STREET>
            <CITY></CITY>
            <ZIP></ZIP>
            <COUNTRY></COUNTRY>
            <STATE></STATE>
            <AREA></AREA>
            <PHONE></PHONE>
            <PHONE2></PHONE2>
            <FAX></FAX>
            <FAX2></FAX2>
            <EMAIL></EMAIL>
            <EMAIL2></EMAIL2>
            <TAXID></TAXID>
            <DOB></DOB>
            <SEX>0</SEX>
            <PASSWD></PASSWD>
            <MATCHCODE></MATCHCODE>
            <ADMCODEHQ></ADMCODEHQ>
            <GT>GUEST</GT>
            <GTD>1</GTD>
            <GNR>19726</GNR>
            <GMD>738</GMD>
            <GDB>0</GDB>
            <TT>M</TT>
            <HQGID>0</HQGID>
            <CREQ>0</CREQ>
            <CREQSTATE>
            </CREQSTATE>
            <SALUTATION></SALUTATION>
            <TITLE></TITLE>
            <T-TITLE>
            </T-TITLE>
            <CARDS></CARDS>
            <RN>718</RN>
            <CAT></CAT>
            <TG>1A</TG>
            <MC>64</MC>
            <SystemGenerator-Package>
                <FROM>03.11.2009</FROM>
                <TO>21.11.2009</TO>
                <SID>AL</SID>
                <RS>CLG</RS>
                <SIDT>P</SIDT>
            </SystemGenerator-Package>
        </SystemGenerator-Person>
        <SystemGenerator-Person>
            <ARR>03.11.2009</ARR>
            <DEP>21.11.2009</DEP>
            <PCIID>700843</PCIID>
            <HASPREV>FALSE</HASPREV>
            <HASSUCC>FALSE</HASSUCC>
            <NOPAX>1</NOPAX>
            <SF>N</SF>
            <SN>Torres</SN>
            <CN>Xavier</CN>
            <RN>718</RN>
            <CAT></CAT>
            <TG>1A</TG>
            <MC>64</MC>
            <SystemGenerator-Package>
                <FROM>03.11.2009</FROM>
                <TO>21.11.2009</TO>
                <SID>AL</SID>
                <RS>CLG</RS>
                <SIDT>P</SIDT>
            </SystemGenerator-Package>
        </SystemGenerator-Person>
    </SystemGenerator-Process>
    <ORG>OWNER@FACTORY(3244)#4840</ORG>
</SystemGenerator-Document>
3
  • Did that string come from an attribute? Or the content of an element in XML? Commented Nov 6, 2009 at 14:43
  • Format your xml properly so that SO can display it. Commented Nov 6, 2009 at 14:47
  • This is the first time that I am working with XML. The string that I put above is a string that I receive from another system. What I need to do is to be able to access all the XML elements and save them into my SQL table. Please help Commented Nov 6, 2009 at 15:14

1 Answer 1

1

I would advise using LinqToXml to parse xml data. Here is a nice Sample

Sample

public class XmlDocumentReader
{
    private XDocument xmlDoc = new XDocument();
    public XmlDocumentReader(string xml)
    {
        xmlDoc.LoadXml(xml);
    }

    public void ParseAndSave()
    {
        var document = from document in xmlDoc.Element("SystemGenerator-Document");
        select new
        {  
            TC = document.Element("TN").Value;
            OC = document.Element("OC").Value;
            HN = document.Element("HN").Value;
            USERID = document.Element("USERID").Value;
            ... and so on
        };

        // insert your data into the database
        // I would assume you have a method called "InsertDocument" or something
        MyDatabase.InsertDocument(document.TC,
                                  document.OC,
                                  document.HN,
                                  document.USERID,
                                  ...);
    }
}
Sign up to request clarification or add additional context in comments.

1 Comment

what's the library to use linq in wiforms? using System.Linq; it's not working for me. First time working with LINQ also

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.