【问题标题】:Advantages and usefulness of adding an XML file to a Visual Studio 2008 project将 XML 文件添加到 Visual Studio 2008 项目的优点和用途
【发布时间】:2009-04-01 01:11:04
【问题描述】:

将 XML 文件添加到 Visual Studio 2008 项目(例如 windows 窗体应用程序项目)有什么好处。

添加到项目后,如何引用此 XML 以在同一项目的类中使用它?在这种情况下,我会将其作为查询发送到 Web 服务。

【问题讨论】:

    标签: c# xml visual-studio


    【解决方案1】:

    如果您想以某种形式使用 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 文件的内容。

    马克

    【讨论】:

      【解决方案2】:

      我想将您的 XML 驻留在您的项目(甚至是解决方案)中的优势在于,您可以在 VS 中以良好的格式甚至智能感知来维护它,然后使用 XML Spy 之类的东西或任何可以给您的东西那也是。

      要在课程中引用它,您需要确保您可以访问它,并且它位于可靠的位置。

      过去,我使用构建后事件将文件的最新副本移动到我需要的位置。正如 Arnshea 在这里所写的那样,“输出目录”是另一个答案。您可以使用 XML 文件本身的“复制到输出目录”属性来实现此目的。然后你的类就可以使用 XML 文件,知道它会驻留在一个可靠的地方。

      您需要确保它是可访问的,尤其是在您回信时。确保它不会以“只读”的形式结束——就像源代码控制系统可以对你做的那样。将这些文件存储在 Program Files 下的文件夹中也可能会出现问题,尤其是在 Vista 上,用户权限(应该)受到限制。

      【讨论】:

        【解决方案3】:

        如果您的应用需要加载 XML,可以将其复制到输出目录。还简化了设置/部署项目的使用...

        【讨论】:

          【解决方案4】:

          另一个主要优点是(假设它已经到位——而且应该是!)是您可以对 XML 文件应用修订控制。

          【讨论】:

            【解决方案5】:

            我猜您不会一遍又一遍地将相同的 XML 文件发送到 WebService。
            您将希望每次都修改其内容,因为您拥有XML Serialization
            如果以上所有条件都适用,那么您不需要需要 XML 文件,您只需要在运行时生成文件的类。 XML 只是一种传输方式,今天是 XML,明天可能是其他格式 (JSON)。

            【讨论】:

              猜你喜欢
              • 2023-03-18
              • 2010-11-29
              • 1970-01-01
              • 1970-01-01
              • 2012-12-08
              • 1970-01-01
              • 1970-01-01
              • 2010-10-24
              • 1970-01-01
              相关资源
              最近更新 更多