xml serialization formatting !!!

Experts,

I am trying xml serialization using c# and the final xml i get contains lot of escape and formatting characters, i need a clean xml ,how do i get this ,i tried setting the encoding format with no use. pls reply.

sample xml after serialization given - i want to remove the \, \r,\n. I may say string.replace() after getting the xml , but is therre any way to specify it in the xmlserializer???


<?xml version=\"1.0\"?>\r\n<AirAvailability_6_2>\r\n  <AirAvailMods>\r\n    <AirVPrefInd>\r\n      <AirVIncExcInd>I</AirVIncExcInd>\r\n      <RelaxAirVPref>N</RelaxAirVPref>\r\n    </AirVPrefInd>\r\n    <AirVPrefs>\r\n      <AirVAry>\r\n        <AirVInfo>\r\n          <AirV>EK</AirV>\r\n        </AirVInfo>\r\n      </AirVAry>\r\n    </AirVPrefs>\r\n    <GenAvail>\r\n      <NumSeats>2</NumSeats>\r\n      <Class>Y</Class>\r\n      <StartDt>20041201</StartDt>\r\n      <StartPt>DXB</StartPt>\r\n      <EndPt>LHR</EndPt>\r\n      <TmWndInd>D</TmWndInd>\r\n      <EndTmWnd>2330</EndTmWnd>\r\n      <JrnyTm />\r\n      <FltTypeInd />\r\n      <FltTypePref />\r\n      <StartPtInd />\r\n      <EndPtInd />\r\n    </GenAvail>\r\n    <ConxPrefInd>\r\n      <IncExc>I</IncExc>\r\n    </ConxPrefInd>\r\n    <ConxPref>\r\n      <PtAry>\r\n        <PtInfo>\r\n          <Pt>LHR</Pt>\r\n        </PtInfo>\r\n        <PtInfo>\r\n          <Pt>LCY</Pt>\r\n        </PtInfo>\r\n      </PtAry>\r\n    </ConxPref>\r\n  </AirAvailMods>\r\n</AirAvailability_6_2>


and finally, how do i replace \ in the string <?xml version=\"1.0\"?> with spaces (<?xml version="1.0"?>). I tried string.replace("\\","") doesnt work, any idea?

Thanks
Sree
LVL 4
msreekmAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
NipNFriar_TuckConnect With a Mentor Commented:
Hmmm you could try a regex...

string inString = "Whatever";
string out1 = Regex.Replace( inString, @"\r\n" );
string outString = (Regex.Replace( out1, @"\" );

Then check outString... note that if you check this in the debug environmnet you WILL see the " escaped with a \ , so you will need to spit it to the console or a message box.
0
 
drichardsCommented:
Where are you seeing all these escape sequences?  The C# debugger shows you the escape sequences.  So, for instance, when you see:

    <?xml version=\"1.0\"?>

there are no \ characters in the string.  It is showing you the expanded escape sequence '\"' rather than simply the funal " character as you get with say the C++ debugger.  That's why your replace line does not appear to do anything.  Same for all the \r\n's.  These are CRLF pairs that add whitespace into the XML so it is more readable (element tags start on new lines).  I don't think you really need to worry about these.  Do you actually see the four characters \r\n in your file output?
0
 
123654789987Commented:
If u can save the data as a .Xml file then it will be in correct format
0
 
123654789987Commented:
To get a well formed XMl U have to make use of the XmlTextWriter class

http://abstractvb.com/code.asp?A=977
0
 
msreekmAuthor Commented:
drichards ... Appreciate ur reply.
Its true that replace function doesnt work with \
but it works with \r\n

and iam able to see them in the watch window not in file.

My problem is iam giving this xml string to a component which is giving error due to the <?xml version=\"1.0\"?>

when i correct it to <?xml version="1.0"?>  it works...


Sree
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.