Click here to Skip to main content
15,885,537 members
Articles / Programming Languages / XML
Tip/Trick

Formatting unformatted XML string in LINQ – Code snippets

Rate me:
Please Sign up or sign in to vote.
4.00/5 (2 votes)
18 Oct 2011CPOL 27K   1   2
How to format unformatted XML string easily with LINQ.

This is very basic to most, but I thought of sharing this with those who are looking for a simple way to format unformatted XML strings.


With the use of the System.Xml.Linq namespace, you can represent the XML element and its string representation as follows:


C#
// Unformated XML string
string strUnformattedXML = 
  "<car><make>Nissan</make><model>Bluebird Sylphy" + 
  "</model><year>2007</year></car>";

// Load the XElement from a string that contains XML representation
XElement xElement = XElement.Parse(strUnformattedXML);

// Returns the intended XML and display
string strFormattedXML = xElement.ToString();
Console.WriteLine(strFormattedXML);

The output is:


XML
<car>
  <make>Nissan</make>
  <model>Bluebird Sylphy</model>
  <year>2007</year>
</car>

However, the XML declaration is not returned by ToString(). Save the file and open.


C#
XElement.Parse(strUnformattedXML).Save(@"C:\temp.xml");
Console.WriteLine(File.ReadAllText(@"C:\temp.xml"));

Then the output is:


XML
<?xml version="1.0" encoding="utf-8"?>
<car>
  <make>Nissan</make>
  <model>Bluebird Sylphy</model>
  <year>2007</year>
</car>

Note: Make sure that the following namespaces are included beforehand:


C#
using System;
using System.Xml.Linq;
using System.IO;

License

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


Written By
Software Developer (Senior)
Sri Lanka Sri Lanka
I graduated with a BSc honours degree in Computer Science & Engineering from Peradeniya University. Currently work as a Senior Software Engineer in Colombo.

I started my career with programming in Java, which I happen to master at later stages of my career. Then later stages I move with Microsoft technologies like C/C++, .Net, SQL Servers and Web 2.0 technologies. Currently re-learning PHP.

Now I'm spending my time with reading for my masters in Artificial Intelligence.

Comments and Discussions

 
QuestionWrong output snippet? Pin
John Whitmire18-Oct-11 8:49
professionalJohn Whitmire18-Oct-11 8:49 
AnswerRe: Wrong output snippet? Pin
CodingLover18-Oct-11 17:52
CodingLover18-Oct-11 17:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.