c# - xml中的简单字符串替换

标签 c# .net

我有一个包含相当多的 XML 的字符串,它实际上是描述一个 word 文档(document.xml)的 xml。我想简单地用一个空字符串替换字符串的一部分,从而有效地将其从字符串中删除。这听起来很简单,但我没有得到我期望的结果。

下面是一些 XML 的样子,这只是前 10 行:

<w:body xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:p w:rsidR="00CB3A3E" w:rsidP="00257CF7" w:rsidRDefault="008C1E91">
        <w:pPr>
            <w:pStyle w:val="Heading-Title" />
        </w:pPr>
        <w:r>
            <w:t>References</w:t>
        </w:r>
    </w:p>
    <w:sdt> 

正如我所说,这是一个字符串。我只是尝试替换<w:t>References</w:t>带有一个空字符串。我这样做是这样的:
//xmlBody is the string that is holding the xml
xmlBody.Replace("<w:t>References</w:t>", " ");

这不起作用,当我这样做时字符串不会改变。我究竟做错了什么?任何建议将不胜感激,非常感谢!

最佳答案

xmlBody = xmlBody.Replace("<w:t>References</w:t>", "");

Replace 函数不会更改源字符串;它返回一个包含所做更改的新字符串。事实上,C# 字符串是无法更改的。如果您查看 documentation ,它说它们是不可变的。

关于c# - xml中的简单字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871362/

相关文章:

c# - 使用 Linq to C# 获取特定属性值

c++ - 现在微软基础类(MFC)值不值得学?

.net - 检查内存转储中所有实例的字段

.net - system.security.cryptography.SHA256在.NET 4.5 (Windows 10) 中管理

c# - 等效于 WPF .NET 5、.NET 6 或 .Net Core 中的 UserSettings/ApplicationSettings

c# - 如何使用包含的源代码生成器发布 .Net 库?

c# - DataContext 到数据库

c# - BasedOn ="{StaticResource {x:Type TextBlock}}"的 Silverlight 3.0 等价物是什么

c# - Webform 中的 HTML 助手?

.net - 通过特定代理从 VB.net Ping 服务器