Dot-Net

如何對 ..NET 中的 resx(資源文件)

  • November 21, 2019

我的項目中的資源文件有問題。當我用英語創建了一個時,我把它交給了翻譯團隊。不知何故,他們向我返回了具有不同順序值的資源文件,因此它沒有按字母順序排序。

所以,一開始是這樣的:

<data name="a1" xml:space="preserve">
  <value>some text2</value>
</data>
<data name="b1" xml:space="preserve">
  <value>some text3</value>
</data>
<data name="c1" xml:space="preserve">
  <value>some text1</value>
</data>

我收到了:

<data name="c1" xml:space="preserve">
  <value>some text1</value>
</data>
<data name="a1" xml:space="preserve">
  <value>some text2</value>
</data>
<data name="b1" xml:space="preserve">
  <value>some text3</value>
</data>

那麼,有沒有辦法按<data name屬性對 .resx 文件中的那些元素進行排序呢?

SortRESX是 Tom Clement 在 CodeProject 上創建的一個簡單的執行檔。

它按字母順序對 *.resx 文件進行排序。我在我的部落格上描述了它。

您可以使用 LINQ to XML 編寫一個快速腳本來執行此操作:

var root = XElement.Load(...);
var sortedRoot = new XElement(root.Name, root.Attributes,
       root.Elements().OrderBy(e => e.Attribute("name").Value)
);

引用自:https://stackoverflow.com/questions/5819793