【问题标题】:C# replace certain text within .plist / XML file?C# 替换 .plist / XML 文件中的某些文本?
【发布时间】:2026-02-08 02:30:01
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net .net xml plist


    【解决方案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 开发项目中看到过这种情况。