I\'ve referenced System.Xml:
using System.Xml;
Then in this line:
XmlDocument xdoc = new XmlDocument();
I
Are you perhaps working inside a SilverLight project?
Only time I have experienced this was when starting out in SilverLight, I did not realise that not all of the System.XML was in the Silverlight CLR version. I used System.Linq.XML instead.
I know this is a very old question but the problem persists nowadays. I'm on a Xamarin.Forms project and the PCL project targets a profile (Profile111) that doesn't support XmlDocument. I had to use System.Xml.Linq.XDocument. My projects targets WindowsPhone and XmlDocument doesn't exist on this target.
If you're using Visual Studio Code, you need to include the .NET Standard package from NuGet. You can also just include the System.Xml.XmlDocument package directly if that's all you need.
I know that the question is already answered, but I want to add the solution for the very similar problem that I had, which might help others:
In my case it was a simple misspelling, well, not even that, it was an uppercase-lowercase-fault:
There are 2 classes: XMLDocument
(from msxml.h) and XmlDocument
(from System.Xml).
Make sure that you're not mixing them up! ;-)
Make sure your project references the System.Xml.dll assembly. It's possible that you're referencing a different assembly that contains other System.Xml.* classes and that might be why you're seeing the System.Xml namespace but without the classes you need.
If you already have this reference, try removing and re-adding it and see if that irons out some weird VS glitch.