Сохранение результата запроса linq в файл XML - PullRequest
0 голосов
/ 16 ноября 2010

Вот оригинальный 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>

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Ну, вы можете просто создать новый XDocument с данными.(Синтаксис C #, но легко конвертируется ...)

XDocument doc = new XDocument(new XElement("configuration", query));
doc.Save(file);
0 голосов
/ 16 ноября 2010

Как насчет использования 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...