12

I'm trying to embed an XML file into a C# console application via Right clicking on file -> Build Action -> Embedded Resource.

How do I then access this embedded resource?

XDocument XMLDoc = XDocument.Load(???);

Edit: Hi all, despite all the bashing this question received, here's an update.

I managed to get it working by using

XDocument.Load(new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("Namespace.FolderName.FileName.Extension")))

It didn't work previously because the folder name containing the resource file within the project was not included (none of the examples I found seemed to have that).

Thanks everyone who tried to help.

4
  • 2
    Do you mean something like this or these possible duplicates? Commented Jan 20, 2012 at 4:13
  • possible duplicate of How can I discover the "path" of an embedded resource? Commented Jan 21, 2012 at 6:44
  • 1
    Exactly what I was looking for. It's unfortunate that it was closed as too localized. Commented Oct 26, 2013 at 4:44
  • 5
    The SO mods ate too many bananas?! What's localized with this question? Commented Dec 3, 2013 at 15:28

1 Answer 1

15

Something along these lines

using System.IO;
using System.Reflection;
using System.Xml;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var stream =  Assembly.GetExecutingAssembly().GetManifestResourceStream("ConsoleApplication1.XMLFile1.xml");
            StreamReader reader = new StreamReader(stream);

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(reader.ReadToEnd());
        }
    }
}

Here is a link to the Microsoft doc that describes how to do it. http://support.microsoft.com/kb/319292

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.