如何在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文件。谢谢。
答
您的项目中有一个资源文件。只需将它拖放到那里,您就可以访问它。 另一种方法是添加此文件到项目,然后单击属性,设置编译方法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...。
所以你基本上只是想把文件的xml内容分配给一个变量? – JOpuckman 2011-12-21 21:36:24
这是什么意思? – 2011-12-21 22:06:28