Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it must that every developer should know XML? How important is XML for a developer? Any suggestion...

share|improve this question

closed as primarily opinion-based by gnat, jwenting, Bart van Ingen Schenau, MichaelT, Kilian Foth May 23 '14 at 12:29

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 17 down vote accepted

it's only important to know it when you need it

and when you need it, you can learn it in an hour. or less

share|improve this answer
This is true for all the concepts and technologies – Tech Jerk Dec 6 '10 at 6:11
@Sri: except perhaps not the 'learn it in an hour' part for some things ;-) – Steven A. Lowe Dec 6 '10 at 6:50
@Steven A. Lowe Oh! Yes! I missed that :) – Tech Jerk Dec 6 '10 at 6:58
@Steven, "learn it in an hour" unfortunately frequently is interpreted to "this is so easy I'll just write the parser myself, using regexps". Doesn't hold. Use a compliant parser. – user1249 Dec 6 '10 at 8:30
@Sri: If you do not really grasp a concept, you have no chance to know, whether you need it. @Steven: I think this is very optimistic. To really understand XML, you need to understand DTD and XSD to start. There are some small details with XML that actually keep it from being that superb, intuitive markup language it's fans consider it to be. Also, depending on your area you should understand things as XSLT and WSDL. Otherwise you are less than useless compared to someone who has knowledge of and experience with these things. – back2dos Dec 6 '10 at 12:13

A good developer should know when it is appropriate to use XML and when it is not. This requires understanding the concepts behind it and the reasons for its use. That way you can make an informed decision on whether you need to utilise it in a specific scenario. But there's no reason to start learning the mechanics of XPATH, XSLT etc. and the finer points of syntax until you actually need to.

share|improve this answer

It is helpful to at least know what it is and the basics of XPath. But these days JSON has taken over the data transfer format of choice for most web developers.

share|improve this answer
I can't imagine JSON taking over as a configuration format though, where XML is still very prevalent, even for web developers. – NickC Dec 6 '10 at 5:54
Renesis, you are correct, XML is used a lot for configuration. But in .NET world it is being supplanted by other methods such as FluentNHibernate replacing XML mappings. – Craig Dec 6 '10 at 6:02
Within parts of an app, maybe, but XML is still the lingua franca of inter-app communication. – TMN Dec 6 '10 at 12:58
XML is so much more than for web development. – Philip Regan Dec 6 '10 at 14:32
@TMN: it's moving fast though it obviously depends on where you're looking at, markting guys are still convinced XML is all the rage :/ – Matthieu M. Dec 7 '10 at 19:02

It is always good to know the different data formats like XMl, RRDBMS, CSV etc. Also it will be helpful to know basics of how it works, advantages and limitations of each. This will certainly help taking some important decisions at the design stage. In light of this I will say it is important for developers to know basics of the XML, XPATH, validations, dtd, xsl. But it will not be mandatory to know the low level implementation details.

share|improve this answer

You should at least know the concept behind XML. Knowing the specifics isn't worth a damn if you don't understand why it's used in the first place. XML's approach to transporting data is by encasing it in tags like so: <greeting>hi</greeting> but you're probably saying, what? Why's he all inventing HTML on me?

You know, some may not agree with me here, but I don't think it's a good idea to be calling yourself a developer and not knowing what XML is. It's just too common, too simple, and too easy to pickup any second now.

For example, you may spend 3 minutes reading these responses. But BAM, in those three minutes, I just read the introduction to XML at w3schools:

Now I can let my bosses know that, hey, if you ever need some data transported... I'm the right guy to ask (sorta).

share|improve this answer
-1. XML is not just "wrapping data in tags". It is far more complex. And it's by far not the best way to transport data. It is good for providing data to unknown parties (as for example through a public web service), but one of the worst things to use for data transport in a distributed application. – back2dos Dec 6 '10 at 12:32
Did I say it was the best way? And as far as calling it data encased in tags, oh boo-hoo. This is programmers.stackexchance not SO. I'm thinking about my audience -- my audience is a person who doesn't even know the basics of XML. What's he going to listen to? Jibber jabber about the details of XML, or one quick sentence? Dang trolls… – joslinm Dec 6 '10 at 13:28
You assumed this person knows nothing about XML, but maybe they have higher standards for what it means to know something before making any claims. – JeffO Dec 6 '10 at 13:42
Yes. Maybe they have higher standards for what it means to know something before making any claims. Couldn't agree more. – joslinm Dec 6 '10 at 14:47

Until they find a better way to structure text, I will use XML! :)

share|improve this answer
What would count as a better way to structure text? – Larry Coleman Dec 6 '10 at 14:13
Don't know.. have not found one yet ;) But I will know it when I see it :) – Arcturus Dec 6 '10 at 16:38
OK, so what about s-expressions or JSON? – Larry Coleman Dec 6 '10 at 19:19

XML is a tool, and like any tool it works better for some purposes than others. There is some debate about whether XML is the best tool for the purposes it's good at. My personal opinion is that JSON and s-expressions are both better alternatives for data interchange. In any case, knowing about XML as an option is a good thing.

share|improve this answer

It's a format for data exchange thats wildly popular these days. It helps if you know it, certainly, since programs usually need to exchange data among each other.

share|improve this answer

XML is like a building block for a developer.

(1) In android application XML is the basic requirement to display graphical user interface. (2) In mobile applications like for iPhone and Blkackberry developer can use web service which is in xml format. (3) XML is easy to understand and very easy to learn. (4) XML gives structural information to display data.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.