XmlDocument |更新节点

问题描述 投票:0回答:1

我开始构建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>

有更好的方法吗?

c# .net xmldocument updating
1个回答
0
投票

也许这对您来说更易读:

    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
© www.soinside.com 2019 - 2024. All rights reserved.