无法插入 OpenXmlElement“newChild”,因为它是树的一部分

use*_*857 3 openxml-sdk

当我尝试使用 open xml 向 Word 文档中的表格添加边框值时,出现此错误。

(无法插入OpenXmlElement“newChild”,因为它是树的一部分。)

这是我的代码:

if (sValue == "")
{
   InsideVerticalBorder insideVBorder = new InsideVerticalBorder();
   insideVBorder.Val = new EnumValue<BorderValues>(BorderValues.None);
   tblBorders.AppendChild(insideVBorder);
}

else
{
   InsideVerticalBorder insideVBorder = new InsideVerticalBorder();
   insideVBorder.Val = new EnumValue<BorderValues>(BorderValues.Single);
   tblBorders.AppendChild(insideVBorder);
}
Run Code Online (Sandbox Code Playgroud)

Moh*_*han 7

尝试像这样使用 CloneNode(true) 。

if (sValue == "")
{
   InsideVerticalBorder insideVBorder = new InsideVerticalBorder();
   insideVBorder.Val = BorderValues.None;
   tblBorders.AppendChild(insideVBorder.CloneNode(true));
}

else
{
   InsideVerticalBorder insideVBorder = new InsideVerticalBorder();
   insideVBorder.Val =BorderValues.Single;
   tblBorders.AppendChild(insideVBorder.CloneNode(true));
}
Run Code Online (Sandbox Code Playgroud)

  • 使用 object1.AppendChild(**object2**) 导致了本文列出的错误。将 **object2** 更改为 **object2.CloneNode(true)** 解决了我的问题! (2认同)