gpt4 book ai didi

c# - C# 解决方案资源管理器中的 XML 文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:22:42 25 4
gpt4 key购买 nike

我有一个 3D 对象及其数据点。数据由 1000 个点组成。

以下为数据点。

   public static List<MyLine> OpenProject(string _file)
{
List<MyLine> Lines = new List<MyLine>();
XmlDocument doc = new XmlDocument();
doc.LoadXml(_file);
XmlNodeList coordinates = doc.SelectNodes("/Siene/MyLine/Coordinates");
foreach (XmlNode coordinat in coordinates)
{
int x1 = Int32.Parse(coordinat["Start"].Attributes["X"].Value);
int y1 = Int32.Parse(coordinat["Start"].Attributes["Y"].Value);
int z1 = Int32.Parse(coordinat["Start"].Attributes["Z"].Value);
MyLine czg = new MyLine(x1, y1, z1);
lines.Add(czg);
}
return lines;
}

XML 文件必须位于解决方案资源管理器中,而不是从外部文件 (doc.LoadXml(_file) 加载,并且所有数据点都必须能够从那里读取。

你能告诉我怎么做吗?

问候,

马克吐温

最佳答案

在解决方案中

  • 将文件添加到您的解决方案中。
  • 右键单击文件,选择“属性”。
  • 更改“构建操作”=>“嵌入式资源”

在你的代码中

  • 使用 Assembly 类获取对包含嵌入资源的程序集的引用(即 Assembly.GetExecutingAssembly())
  • 使用程序集引用获取文件流(即 assemblyRef.GetManifestResourceStream("assemblyName.filename.xml"))
  • XML 文档应该能够加载流。

假设我的程序集名为“Hello.World”,文件嵌入在名为“foo.xml”的项目的根目录下,您可以使用以下代码:

var myAss = Assembly.GetExecutingAssembly();
using (var s = myAss.GetManifestResourceStream(string.Format("{0}.foo.xml",
myAss.GetName().Name)))
{
var doc = new XmlDocument();
doc.Load(s);
}

关于c# - C# 解决方案资源管理器中的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7066432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com