C# 替换 .plist / XML 文件中的某些文本?

Posted

技术标签:

【中文标题】C# 替换 .plist / XML 文件中的某些文本?【英文标题】:C# replace certain text within .plist / XML file? 【发布时间】:2017-03-02 19:25:25 【问题描述】:

我正在开发一个需要将数据输入.plist 文件的应用程序。需要替换的地方有我的自定义文本,例如 Text-PlaceholderBackgroundColor-Placeholder

C# 有没有一种方法可以让我基本上只替换这些实例?任何帮助都会很棒,谢谢!

【问题讨论】:

【参考方案1】:
var fileName = @"D:\X.plist";

// Load text from file
var text = File.ReadAllText(fileName);

// Replace string
text = text.Replace("Text-Placeholder", "Some Text");
text = text.Replace("BackgroundColor-Placeholder", "Some Other Text");

// Save text to file
File.WriteAllText(fileName, text);

在许多情况下,plist 文件只是 XML 文件,因此您可以简单地将它们加载并保存为任何其他文本文件。您唯一需要注意的是编码。

File.WriteAllText 默认使用 UTF-8 编码。所以,当 plist 文件以

开头时
<?xml version="1.0" encoding="UTF-8"?>

那么一切都好。如果 plist 文件使用不同的编码,则必须将该编码指定为 File.WriteAllText 的附加参数。

【讨论】:

我知道您可以对.txt 文件执行此操作而不会出现任何问题,我不确定它是否适用于.plist 文件? @JoeScotto PList 文件只是 XML 文件,因此您可以简单地将它们加载并保存为任何其他文本文件。 刚刚测试过,它工作正常!非常感谢。 @JoeScotto 在其他一些地方,我看到 plist 文件也可以是二进制格式。但是,我从未在我的 ios 开发项目中看到过这种情况。 供参考:Trouble opening plist files in text editor

以上是关于C# 替换 .plist / XML 文件中的某些文本?的主要内容,如果未能解决你的问题,请参考以下文章

[使用PHP替换xml / plist文件中的字符串

替换 .plist 文件中的行以修改 <string> - 可以吗?

从 XML 到 PLIST 的转换

Plist 包含“&”字符

如何将xml加载到plist

Racket 中的 Plist/XML 解析