C# 将XML文件添加到VisualStudio2008项目的优点和实用性
将XML文件添加到VisualStudio2008项目(例如windows窗体应用程序项目)的优点是什么C# 将XML文件添加到VisualStudio2008项目的优点和实用性,c#,xml,visual-studio,C#,Xml,Visual Studio,将XML文件添加到VisualStudio2008项目(例如windows窗体应用程序项目)的优点是什么 一旦添加到项目中,如何引用此XML在同一项目的类中使用它?在这种情况下,我会将其作为查询发送到web服务。如果您的应用程序需要加载XML,可以将其复制到输出目录。还简化了安装/部署项目的使用…如果应用程序需要加载XML,可以将其复制到输出目录。还简化了安装/部署项目的使用…我想让XML驻留在项目(甚至解决方案)中的好处是,您可以在VS中使用良好的格式甚至intelli sense来维护它,但
一旦添加到项目中,如何引用此XML在同一项目的类中使用它?在这种情况下,我会将其作为查询发送到web服务。如果您的应用程序需要加载XML,可以将其复制到输出目录。还简化了安装/部署项目的使用…如果应用程序需要加载XML,可以将其复制到输出目录。还简化了安装/部署项目的使用…我想让XML驻留在项目(甚至解决方案)中的好处是,您可以在VS中使用良好的格式甚至intelli sense来维护它,但是使用XML Spy之类的东西也可以做到这一点 要在类中引用它,您需要确保您可以访问它,并且它位于一个可靠的位置 在过去,我使用生成后事件将文件的最新副本移动到需要的位置。正如Arnshea在这里所写的,这是另一个答案,“到输出目录”。您可以在XML文件本身上使用“复制到输出目录”属性来实现这一点。然后,您的类可以使用XML文件,知道它将驻留在一个可靠的位置
不过,你需要确保它是可访问的,尤其是当你回信时。确保它不会像源代码管理系统对您所做的那样以“只读”结束。将这些文件存储在Program files下的文件夹中也可能会有问题,尤其是在Vista上,用户权限(应该)受到限制。我想让XML驻留在项目(甚至解决方案)中的好处是,您可以在VS中以良好的格式甚至intelli sense对其进行维护,但是,使用XMLSpy之类的东西也可以做到这一点 要在类中引用它,您需要确保您可以访问它,并且它位于一个可靠的位置 在过去,我使用生成后事件将文件的最新副本移动到需要的位置。正如Arnshea在这里所写的,这是另一个答案,“到输出目录”。您可以在XML文件本身上使用“复制到输出目录”属性来实现这一点。然后,您的类可以使用XML文件,知道它将驻留在一个可靠的位置
不过,你需要确保它是可访问的,尤其是当你回信时。确保它不会像源代码管理系统对您所做的那样以“只读”结束。将这些文件存储在Program files下的文件夹中也可能会有问题,尤其是在Vista上,在Vista中,用户权限(应该)受到限制。另一个主要优点是(假设它已经存在,并且应该存在!)可以对XML文件应用修订控制。另一个主要优点是(假设它已经就位——而且应该如此!)就是您可以对XML文件应用修订控制。我想您不会一次又一次地将相同的XML文件发送到Web服务。
您每次都要修改它的内容,因为您已经修改了内容。
如果以上所有内容都适用,那么您不需要XML文件,您只需要在运行时生成文件的类。XML只是传输,今天是XML,明天可能是其他格式(JSON).我想您不会一次又一次地向Web服务发送相同的XML文件。
您每次都要修改它的内容,因为您已经修改了内容。
如果以上所有内容都适用,那么您不需要XML文件,您只需要在运行时生成文件的类。XML只是传输,今天是XML,明天可能是其他格式(JSON)。如果您想以某种形式使用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();
}
}
完成后,如果一切顺利,XML文件的内容将显示在“xmlContents”中
Marc如果您想以某种形式使用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();
}
}
完成后,如果一切顺利,XML文件的内容将显示在“xmlContents”中
马克