0

是否可以在 Visual Studio 2010 项目中存储实际的 XML 文件,然后在代码中引用它?

IE。我可以存储一个 XML 文件(参见下面的片段),然后在 XML 数据中引用数据元素吗?如何做到这一点以及如何使用 C# 或 VB 代码引用 XML 数据深处的数据元素?

如果将XML文件添加到项目中,编译时会嵌入到DLL或EXE中吗?如果没有,如何将其嵌入到 DLL 或 EXE 中?

<readReferenceDataResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<readReferenceDataResult xmlns="http://test.website.com/hi/xsd/providermessages/ReadReferenceData/5.6.9">
    <elementReferenceValues>
      <elementName>organisationTypeCode</elementName>
      <referenceSet>
        <referenceCode xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">1678</referenceCode>
        <referenceDescription xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">Accupuncture and Eastern Medicine</referenceDescription>
      </referenceSet>
      <referenceSet>
        <referenceCode xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">6454</referenceCode>
        <referenceDescription xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">Technical and Laboratory Services</referenceDescription>
      </referenceSet>
      <referenceSet>
        <referenceCode xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">9782</referenceCode>
        <referenceDescription xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">Naturopathy and Natural Health</referenceDescription>
      </referenceSet>
      <referenceSet>
        <referenceCode xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9>8557</referenceCode>
        <referenceDescription xmlns="http://test.website.com/hi/xsd/providercore/Elements/5.6.9">Aged Care Services</referenceDescription>
4

2 回答 2

3

如果还没有资源文件,只需将资源文件 ( .resx)添加到您的项目。选择文件作为资源类型并将您的 XML 文件拖入其中并为其命名(如果您不喜欢自动生成的名称)。

这将创建一个嵌入式资源类型,然后您可以通过自动生成的代表资源的类在代码中访问它,例如,如果您的项目被调用Foo并且您添加了一个名为的资源文件Resources并添加了一个名为的 XML 文件资源MyData,那么您可以访问该资源Foo.Resources.MyData在代码中。这会将文件的内容公开为字符串,然后您可以XmlDocument在需要时使用XmlDocument.LoadXml.

于 2013-05-01T09:11:35.280 回答
0

听上去,我能想到的最好的解决方案是使用XmlDocument

您使用XmlDocument来保存要读取的 XML 文件,然后您可以从那里检索元素/节点。

如果你想要更快一点的东西,你也可以使用Linq to XML,它很好用而且简单易用。

最后,如果您有内存限制/不想将整个文档加载到内存中以经常读取它,您可以使用XmlReader. 它允许您直接从文件中逐个节点地读取它。然而,它只是向前的,使用起来有点棘手。

于 2013-05-01T09:04:59.053 回答