Question: Are there disadvantages of using XML, instead of RDMS? The reason I ask this is because my data is more naturally represented by XML structure, rather than RDBMS. I initially thought of [storing the data in relational database](https://stackoverflow.com/questions/545145/map-xml-structure-to-database-schema), but the lack of flexibility of relational database to handle tree-like data structure was putting me of. So I am thinking about just storing the data in XML.

One thing I fear is performance penalty. While RDBMS can handle large datasets, I am not sure whether the same can be said about XML. Also, the database queries are pretty well-established and fairly easy to use and construct, what about XML queries? I don't know.

I am doing .Net application.

Answer: 
In my opinion, these are the factors to consider

1. Which fits your applications needs more closely
2. How large a data set you need to handle?
3. Are you transferring data between applications or are you going to query it?

Once these factors are considered, I would suggest that you decide to use RDBMS, if you have large data processing and querying needs and XML if you need to export data or transfer it between applications. i would also like to suggest that you consider constraints on your data and integrity needs like Nick has suggested.

I have little experience in the area, however this is what I have heard from others at my school.

All the best.
Things an RDBMS provides that XML doesn't, more or less in order of importance:

* enforcement of a defined schema (though this is certainly available to XML)
* support for multiple writers
* atomic transactions
* referential integrity
* well-defined query language
* ability to optimize access through indexes, compiled queries, etc.
* role-based security
* triggers, stored procedures, calculated columns, etc.

Plus you don't need to load the entire database into memory before you can access any of it.

XML's an okay serialization format for an object model. It's good for hacking together relatively free-form data models that you can access with XPath, too - especially if you're going to transform that data into XML or HTML via XSLT. And it has the merit of being standard and platform-independent. 

But if you get too ambitious with it, you swiftly get into the kind of territory that results in you writing rants about how terrible XML is. (I'm talking to you, [Jeff Atwood](http://www.codinghorror.com/blog/archives/001114.html).)