如何在C#文件中使用XML而不是使用外部XML文件?

问题描述:

我有一个XML文件,目前外部的C#代码,它装载这样的:如何在C#文件中使用XML而不是使用外部XML文件?

var xElem = XElement.Load("ProductTable.xml"); 

如何“使用”这个文件在我的C#代码“嵌入”元素而不是它的作为外部文件?

我知道我用“use”和“embedded”这两个词不够清楚。我想要做的就是把它当作某种变量,作为

var myXML = /* content of the XML file here */; 

只是让我没有使用外部XML文件。谢谢。

+0

所以你基本上只是想把文件的xml内容分配给一个变量? – JOpuckman 2011-12-21 21:36:24

+0

这是什么意思? – 2011-12-21 22:06:28

您的项目中有一个资源文件。只需将它拖放到那里,您就可以访问它。 另一种方法是添加此文件到项目,然后单击属性,设置编译方法emedded然后做水木清华这样

try 
    { 
     _assembly = Assembly.GetExecutingAssembly(); 
     _imageStream = _assembly.GetManifestResourceStream("MyNamespace.MyImage.bmp"); 
     _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNamespace.MyXmlFile.xml")); 
    } 
    catch 
    { 
     MessageBox.Show("Error accessing resources!"); 
    } 

XML文件添加到您的项目。将其构建设置(通过解决方案资源管理器中的属性)设置为Embedded Resource。然后你可以使用类似的东西...

var asm = Assembly.GetExecutingAssembly(); 
using (var sr = new StreamReader(asm.GetManifestResourceStream("YourNamespace.ProductTable.xml"))) 
{ /* ... */ } 

你可能会想要使用XmlReader或他们最近调用它的任何东西。

来自MSDN的How to embed and access...