paragraph.InnerText 是一个没有set属性的,他无法被设置值
时间: 2024-03-24 19:39:09 浏览: 94
非常抱歉,您是正确的。`paragraph.InnerText`是只读的,不能直接设置其值。如果您想要替换段落中的文本,可以使用`Run`和`Text`元素来实现。
以下是一个示例代码,可以替换段落中包含`#SIEMENS_COMPANY_LOCATION#`的文本:
```csharp
foreach (var paragraph in mainPart.Document.Body.Descendants<Paragraph>())
{
var textElements = paragraph.Descendants<Text>();
foreach (var textElement in textElements)
{
if (textElement.Text.Contains("#SIEMENS_COMPANY_LOCATION#"))
{
var newText = textElement.Text.Replace("#SIEMENS_COMPANY_LOCATION#", form.SIEMENS_COMPANY_LOCATION);
textElement.Text = newText;
}
}
}
```
在上面的代码中,我们首先获取段落中的所有`Text`元素,然后遍历每个`Text`元素并检查其文本内容是否包含`#SIEMENS_COMPANY_LOCATION#`。如果包含该占位符,我们使用`String.Replace()`方法将其替换为`form.SIEMENS_COMPANY_LOCATION`的值,并将新的文本设置回`Text`元素的`Text`属性中。
希望这可以帮助您解决问题!
阅读全文