LINQ to XML Part 5: Catching Parsing Exceptions

No.of Views691
Bookmarked0 times
Downloads 
Votes0
By  Dhananjay Kumar   On  03 Apr 2010 05:04:30
Tag : LINQ , How to
How to handle exception in parsing XML using LINQ to XML in .NET
emailbookmarkadd commentsprint

Images in this article missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at info@codegain.com

 

Objective


This is a very high level article which will explain; how to handle exception in parsing XML using LINQ to XML.

Problem


Let us say, we are parsing a below string using XElement.Parse
 

String strParse = "<Address><Name>Dhananjay Kumar </Name> "; 

This string is not valid formed. But XElement.Parse won’t be able to catch the exception.  So if we will run the below code

String strParse = "<Address><Name>Dhananjay Kumar </Name> ";
 XElement xmlTree = XElement.Parse(strParse);
 Console.WriteLine(xmlTree);

We will get the below run time error.

 

Image Loading

 

Five Facts

1.    LINQ to XML is implemented through XMLReader.
2.    Parse methods on various LINQ to XML class are unable to handle the Exception.
3.    At time of parsing if input is invalid XML or not formed exception occurs.
4.    At Exception the underlying XMLReader will throw the Exception.
5.    High level Exception would be System.Xml.XmlException

 

How to handle the Exception?

Programmer has to explicitly handle the Exception while parsing.  Parsing code need to be put in try catch and Exception must be handled explicitly.

try
            {
                String strParse = "<Address><Name>Dhananjay Kumar </Name> ";
                XElement xmlTree = XElement.Parse(strParse);
                Console.WriteLine(xmlTree);
            }
            catch (System.Xml.XmlException e)
            {
                Console.WriteLine(e.Message);
            }

Project Output

Image Loading

 

 
Sign Up to vote for this article
 
About Author
 
Dhananjay Kumar
Occupation-Software Engineer
Company-Infosys Technolgies,Pune
Member Type-Gold
Location-India
Joined date-20 Jul 2009
Home Page-http://dhananjaykumar.net/
Blog Page-http://dhananjaykumar.net/
Dhananjay Kumar is Microsoft MVP on connected system. He blogs at http://dhananjaykumar.net/ . You can follow him http://twitter.com/debugmode_/ and reach him at dhananjay.25july@gmail.com
 
 
Other popularSectionarticles
Comments
There is no comments for this articles.
Leave a Reply
Title:
Display Name:
Email:
(not display in page for the security purphase)
Website:
Message:
Please refresh your screen using Ctrl+F5
If you can't read this number refresh your screen
Please input the anti-spam code that you can read in the image.
^ Scroll to Top