我正在尝试使用 linq 查找名称等于 Foo 的 MyNode,并复制该节点并将其添加到 XML 但新节点应具有名称 Bar,然后保存文件。
<?xml version="1.0" encoding="utf-8"?>
<MyRoot>
<MyNode Name="Foo">
<Data Type="String">ABC</Data>
</MyNode>
</MyRoot>
此代码找到节点
Dim doc As XDocument = XDocument.Load(xmlFile)
Dim sheet = From item In doc...<MyRoot>...<MyNode> Select item Where item.@Name = "Foo"
我正在尝试使用它来添加节点并更改名称。
sheet.@Name = "Bar" 'After excecuting this, sheet becomes "Nothing"
doc.Root.Add(sheet.First)
doc.Save(outFile)
但是,在将 sheet.@Name 设置为“Bar”之后, sheet 变为Nothing。如果我注释掉该行,输出将有两个节点,均名为 Bar。我怀疑我没有以“正确的方式”这样做,无论是更改属性还是将其添加到 XDocument(或两者)