【发布时间】:2012-09-27 13:34:01
【问题描述】:
我正在尝试使用 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(或两者)方面
【问题讨论】:
标签: .net vb.net linq linq-to-xml