将XML文件添加到visual studio 2008项目(例如,windows窗体应用程序项目)的优势是什么。
一旦添加到项目中,我怎么能引用这个XML在同一个项目的类中使用它?在这种情况下,我会将其作为查询发送到Web服务。
答案 0 :(得分:3)
如果您想以某种形式使用XML,可以在属性窗口中将其标记为“嵌入式资源”,然后从代码中访问它,如下所示:
Assembly a = Assembly.GetExecutingAssembly();
if(a != null)
{
Stream s = a.GetManifestResourceStream(typeof(yourType), "YourXmlName.xml");
if (s != null)
{
String xmlContents = new StreamReader(s).ReadToEnd();
}
}
完成后,如果一切顺利,您可以在“xmlContents”中获取XML文件的内容。
马克
答案 1 :(得分:2)
我认为让你的XML驻留在你的项目中(甚至是解决方案)的优势在于你可以在VS中使用良好的格式化甚至智能来维护它,但是然后使用像XML Spy或任何可以给你的东西那也是。
要在课程中引用它,您需要确保您可以访问它,并且它位于一个可靠的位置。
过去我曾使用post build事件将文件的最新副本移动到我需要的位置。正如Arnshea在这里写的是另一个答案,“到输出目录”。您可以使用XML文件本身上的“复制到输出目录”属性来实现此目的。然后你的类可以使用XML文件,因为它知道它将存在于一个可靠的位置。
你需要确保它是可以访问的,特别是如果你要回复它。确保它不会“只读” - 因为源控制系统可以对你做。将这些文件存储在Program Files下的文件夹中也可能会出现问题,特别是在Vista上,用户权限(应该)受到限制。
答案 2 :(得分:0)
如果您的应用需要加载XML,则可以将其复制到输出目录。还简化了安装/部署项目的使用......
答案 3 :(得分:0)
另一个主要优点是(假设它已到位 - 应该是!)是您可以将修订控制应用于XML文件。
答案 4 :(得分:0)
我猜你不会一遍又一遍地将相同的 XML文件发送到WebService。
您希望每次都为XML Serialization修改其内容
如果上述所有内容都适用,那么不需要XML文件,您只需要在运行时生成文件的类。 XML只是传输,今天是XML,明天它可能是其他格式(JSON)。