C# 替换 .plist / XML 文件中的某些文本?
Posted
技术标签:
【中文标题】C# 替换 .plist / XML 文件中的某些文本?【英文标题】:C# replace certain text within .plist / XML file? 【发布时间】:2017-03-02 19:25:25 【问题描述】:我正在开发一个需要将数据输入.plist
文件的应用程序。需要替换的地方有我的自定义文本,例如 Text-Placeholder
或 BackgroundColor-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 文件中的某些文本?的主要内容,如果未能解决你的问题,请参考以下文章