XmlDocument | Обновление узлов

Я начинаю создавать проигрыватель Youtube, и у меня есть объект XmlDocument для хранения метаинформации видео, но у меня возникают некоторые проблемы с выяснением того, как обновить XmlDocument.

Вот мой код:

public void UpdateVideo(string video_id, string title, string download_url)
{
    if (this.DownloadExists(video_id))
    {
        XmlNodeList Videos = Document.GetElementsByTagName(video_id);

        if (Videos.Count == 1) 
        {
            XmlNode Video = Videos[0];

            //Update the Title
            XmlNodeList Properties = Video.ChildNodes;

            //Title
            foreach (XmlNode Property in Properties) 
            {
                switch (Property.Name.ToLower()) 
                {
                    case "title":
                        Property.InnerText = title;
                    break;
                    case "download_url":
                        Property.InnerText = download_url;
                    break;
                }

                //Update the property back to Video object......
                //Update the Video back to the Videos etc.......

            }
        }
        Document.Save(StorageFile);
    }
}

По сути, это небольшой VideoStorage класс, который читает / записывает в XML-документ.

Пример XML-данных выглядит так:

<?xml version="1.0" encoding="iso-8859-1"?>
<videos>
    <pqky5B179nM>
        <id>pqky5B179nM</id>
        <title>will.i.am, Nicki Minaj - Check It Out</title>
        <videod_url>http://www.youtube.com/watch?v=pqky5B179nM</videod_url>
    </pqky5B179nM>
</videos>

Есть лучший способ сделать это?


person RobertPitt    schedule 08.11.2010    source источник
comment
так в чем проблема? Как НЕ обновляется?   -  person gideon    schedule 10.12.2010


Ответы (1)


Возможно, это более читабельно для вас:

    Private Sub SaveItem(ByVal Title As String, ByVal GroupData As String)
            'Save Data in an XML file (Timo Böhme, www.goldengel.ch)
            Dim fi As New IO.FileInfo(TB.SystemMain.AppPath & "ButtonLayout.xml") 'Define the file to write in
            Dim writer As New Xml.XmlTextWriter(fi.FullName, System.Text.Encoding.UTF8) 'create new XML reader class


            writer.WriteStartDocument() 'start writing Xml document

                    writer.WriteStartElement("PositionInfos") 'go or create to PositionInfos tag

                    writer.WriteStartElement("PositionInfo") 'go or create to PositionInfo tag
                            writer.WriteAttributeString("Title", Title) 'write attribut Title
                            writer.WriteAttributeString("GroupData", GroupData) 'write attribut GroupData
                    writer.WriteEndElement() 'close PositionInfo tag

            writer.WriteEndElement() 'close PositionInfos tag
            writer.WriteEndDocument() 'close document tag

            writer.Flush() 'write to disk
            writer.Close() 'close file
    End Sub
person goldengel    schedule 04.05.2011