这是原始的xml文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<setup>
<cap>33</cap>
</setup>
<setup>
<cap>dd</cap>
</setup>
</configuration>
在下面的示例中,我删除了cap等于33的节点
Dim Cap As integer = 33
Dim query = From q In XElement.Load(Environment.CurrentDirectory & "\sample.xml").Elements("setup") _
Where q.Value = Cap _
Select q
For Each q In query
If Cap = q.Element("cap").Value Then q.Remove()
Next
现在我如何将查询结果写回.xml文件?像...
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<setup>
<cap>dd</cap>
</setup>
</configuration>
答案 0 :(得分:1)
好吧,您可以使用数据创建一个新的XDocument。 (C#语法,但很容易转换......)
XDocument doc = new XDocument(new XElement("configuration", query));
doc.Save(file);
答案 1 :(得分:0)
如何使用XPath:
Imports System.Xml.XPath
Module Module1
Sub Main()
Dim doc = XDocument.Load("foo.xml")
doc.XPathSelectElements("//setup/cap[text() = 'dd']/..").Remove()
Console.WriteLine(doc)
End Sub
End Module