Click here to Skip to main content
15,884,099 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i have the following xml doc:

XML
<?xml version="1.0" encoding="utf-8"?>
<W-TIBCPTRs>
  <W-TIBCPTR>
    <TYPTRT>FDR2 R</TYPTRT>
    <CLAFCNO VALIDE="NON">5b1</CLAFCNO>
    <NUMCLI>0067781</NUMCLI>
    <TYPACT>D</TYPACT>
    <NATCTRT>STD</NATCTRT>
    <CLDEVCDE>EUR</CLDEVCDE>
    <AFCACH>511</AFCACH>
    <NUMACH>3700167</NUMACH>
    <DEVACH>EUR</DEVACH>
    <NUMDOC>20130051                           </NUMDOC>
    <LIBECR>D�l�gation signature(s)                                     </LIBECR>
    <GAPROFIL>JFL       </GAPROFIL>
    <GADATE>20130521</GADATE>
    <GAHEURE>113122</GAHEURE>
    <FILLER />
  </W-TIBCPTR>
  <W-TIBCPTR>
    <TYPTRT>FDR2 R</TYPTRT>
    <CLAFCNO>511</CLAFCNO>
    <NUMCLI>0068078</NUMCLI>
    <TYPACT>D</TYPACT>
    <NATCTRT>STD</NATCTRT>
    <CLDEVCDE>EUR</CLDEVCDE>
    <AFCACH>511</AFCACH>
    <NUMACH>2717150</NUMACH>
    <DEVACH>EUR</DEVACH>
    <NUMDOC />
    <LIBECR />
    <GAPROFIL />
    <GADATE />
    <GAHEURE />
    <FILLER />
  </W-TIBCPTR>
  <W-TIBCPTR>
    <TYPTRT>FDR2 V</TYPTRT>
    <CLAFCNO>511</CLAFCNO>
    <NUMCLI>0048606</NUMCLI>
    <TYPACT>D</TYPACT>
    <NATCTRT>STD</NATCTRT>
    <CLDEVCDE>EUR</CLDEVCDE>
    <AFCACH>511</AFCACH>
    <NUMACH>3129386</NUMACH>
    <DEVACH>EUR</DEVACH>
    <NUMDOC>fa2651                             </NUMDOC>
    <LIBECR>Non abouti/Facture � pr�-relancer                           </LIBECR>
    <GAPROFIL>JFL       </GAPROFIL>
    <GADATE>20130523</GADATE>
    <GAHEURE>142823</GAHEURE>
    <FILLER />
  </W-TIBCPTR>
  <W-TIBCPTR>
    <TYPTRT>FDR2 R</TYPTRT>
    <CLAFCNO>511</CLAFCNO>
    <NUMCLI>0069023</NUMCLI>
    <TYPACT>D</TYPACT>
    <NATCTRT>STD</NATCTRT>
    <CLDEVCDE>EUR</CLDEVCDE>
    <AFCACH>511</AFCACH>
    <NUMACH>3768193</NUMACH>
    <DEVACH>EUR</DEVACH>
    <NUMDOC>FC70                               </NUMDOC>
    <LIBECR>D�l�gation signature(s)                                     </LIBECR>
    <GAPROFIL>JFL       </GAPROFIL>
    <GADATE>20130524</GADATE>
    <GAHEURE>133716</GAHEURE>
    <FILLER />
  </W-TIBCPTR>
  <W-TIBCPTR>
    <TYPTRT>FDR2 R</TYPTRT>
    <CLAFCNO VALIDE="NON">5b8</CLAFCNO>
    <NUMCLI>0052830</NUMCLI>
    <TYPACT>E</TYPACT>
    <NATCTRT>GPE</NATCTRT>
    <CLDEVCDE>EUR</CLDEVCDE>
    <AFCACH>999</AFCACH>
    <NUMACH>0026627</NUMACH>
    <DEVACH>EUR</DEVACH>
    <NUMDOC>130512                             </NUMDOC>
    <LIBECR>D�l�gation signature(s)                                     </LIBECR>
    <GAPROFIL>JFL       </GAPROFIL>
    <GADATE>20130527</GADATE>
    <GAHEURE>095045</GAHEURE>
    <FILLER />
  </W-TIBCPTR>
</W-TIBCPTRs>


When I try to access it through c#:

C#
string csvSeparator = ",";
Func<string, string> escapeValue = val => val;

string xml = textBox1.Text;
XDocument doc = XDocument.Parse(xml);

var headers = doc.Root
           .Elements()
           .First()
           .Elements()
           .Select(el => el.Name.LocalName);

var headerRow = string.Join(csvSeparator, headers);

 var rows = from el in doc.Root.Elements()
           let values = from prop in el.Elements()
           select escapeValue(prop.Value)
           let row = string.Join(csvSeparator, values)
           select row;

IEnumerable<string> csvLines = new[] { headerRow }.Concat(rows);

when i execute my application I get this error:
C#
Data at the root level is invalid. Line 1, position 1
Posted
Updated 15-Jun-14 1:15am
v2
Comments
CHill60 15-Jun-14 7:02am    
Do you want to use the Improve question link to remove the multiple lines of xml that you have posted I've updated your question for you.

I have also run this code without any error. I was using .net 4.5 and a simple textbox. Have you set the textbox to be multiline?
CHill60 15-Jun-14 12:11pm    
I will delete your "solution" so that this question comes back into the queue. If you are using WinForms then the textbox will have a property textBox1.Multiline which must be set to true if you are pasting this xml into it.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900