如何只更改字符串的一部分?

Jiale Xue - MSFT 46,466 信誉分 Microsoft 供应商
2024-02-29T07:54:05.6833333+00:00

下面是一个示例 xml。

<group>
  <value>
    <Item>1</Item>
    <Item>2</Item>
    ...
    ...
  </value>
</group>

我只想更改 <value> 和 </value>.<br/> 例如,像这样。

<group>
  <value>
    &lt;Item&gt;1&lt;/Item&gt;
    &lt;Item&gt;2&lt;/Item&gt;
    ...
    ...
  </value>
</group>

我正在尝试使用此代码。

string change = File.ReadAllText(File1Path);
change = change.Replace("<", "&lt;");
change = change.Replace(">", "&gt;");
File.WriteAllText(File1Path, change);

谢谢

Note:此问题总结整理于:How can I change only part of a string?

Windows 窗体
Windows 窗体
一组用于开发图形用户界面的 .NET Framework 托管库。
113 个问题
C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
188 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
    2024-02-29T08:06:50.4966667+00:00

    你好,你可以尝试以下代码来更改xml文件中字符串的一部分。

    
    XDocument doc=XDocument.Load(path);  
        var result = doc.Descendants("value").Descendants().Cast<XElement>().ToList();  
        string elestr=string.Empty;  
     
        for (int i = 0; i < result.Count(); i++)  
        {  
            StringWriter myWriter = new StringWriter();  
            elestr = result[i].ToString();  
            HttpUtility.HtmlEncode(elestr,myWriter);  
            result[i].ReplaceWith(Environment.NewLine+myWriter.ToString()+Environment.NewLine);  
        }  
        doc.Save(path);  
        string txt=File.ReadAllText(path);  
        txt = txt.Replace("&amp;", "&");  
        txt = txt.Replace("&quot;", "\"");  
        File.WriteAllText(path, txt);  
        var lines = File.ReadAllLines(path).Where(line => !String.IsNullOrWhiteSpace(line));  
        File.WriteAllLines(path, lines);
    
    

    注意:请在您的应用中添加命名空间:

    using System.IO;  
    using System.Linq;  
    using System.Web;  
    using System.Xml.Linq;
    

    测试结果: 206114-image.png

    希望这对你有所帮助。


    如果答案是正确的解决方案,请单击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。