gpt4 book ai didi

c# - 使用 C# 解析 Resx 文件在相对路径上崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:41 25 4
gpt4 key购买 nike

出于必须将 resx 数据复制到 word 中以获取字数的纯粹挫败感我已经开始编写自己的工具来执行此操作。

这让我遇到了一个问题。我在 Resources.resx 文件中有图标和类似的东西。并且根据正在使用的项目,它们具有相对路径。

他们显然应该有。

好吧,当我尝试在另一个应用程序中解析 Resx 文件以计算值列中的单词数时。

我遇到错误,因为它们无法解析相对路径。他们最终会转到我的 wordcount 应用程序中不存在的文件夹。

你们有没有人知道我如何在解析这些值时欺骗应用程序以查找正确的文件夹?

我不太清楚为什么它首先要解析这些值。它应该只获取我所关心的字符串。

我正在使用 ResXReader

ResXResourceReader reader = new ResXResourceReader(filename);
foreach(System.Collections.DictionaryEntry de in reader)
{
if (((string)de.Key).EndsWith(".Text"))
{
System.Diagnostics.Debug.WriteLine(string.Format("{0}: {1}", de.Key, de.Value));
}
}

我在这里找到这个:Word Count of .resx files

它在 foreach 上出错。..\common\app.ico 例如。

有人知道如何做到这一点吗?

最佳答案

好的。所以解决方案比预期的要容易一些。

  1. 我使用的是过时的类。我应该一直使用 XDocument 而不是 XmlDataDocument

其次,LINQ 是炸弹。

我所要做的就是:

try
{
XDocument xDoc = XDocument.Load(resxFile);

var result = from item in xDoc.Descendants("data")
select new
{
Name = item.Attribute("name").Value,
Value = item.Element("value").Value
};

resxGrid.DataSource = result.ToArray();
}

如果将这些属性/元素转换为 (String),您甚至可以允许空字符串

希望这对某人有帮助!

关于c# - 使用 C# 解析 Resx 文件在相对路径上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15120855/

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