RaumfeldNET.UPNPMediaList.createItemsFromMetaData C# (CSharp) Метод

createItemsFromMetaData() публичный Метод

public createItemsFromMetaData ( String _metaData ) : void
_metaData String
Результат void
        public void createItemsFromMetaData(String _metaData)
        {
            XmlDocument xmlDoc = new XmlDocument();
            XmlNamespaceManager manager = new XmlNamespaceManager(xmlDoc.NameTable);

            if (String.IsNullOrWhiteSpace(_metaData))
            {
                this.clearList();
                return;
            }

            try
            {
                updateList.Clear();

                xmlDoc.LoadXml(_metaData);

                manager.AddNamespace("ns", @"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/");
                manager.AddNamespace("dc", @"http://purl.org/dc/elements/1.1/");
                manager.AddNamespace("upnp", @"urn:schemas-upnp-org:metadata-1-0/upnp/");
                manager.AddNamespace("dlna", @"urn:schemas-dlna-org:metadata-2-0/");
                manager.AddNamespace("raumfeld", @"urn:schemas-raumfeld-com:meta-data/raumfeld");

                this.createItemsFromMetaDataNode(xmlDoc, manager, "ns:DIDL-Lite/ns:item");
                this.createItemsFromMetaDataNode(xmlDoc, manager, "ns:DIDL-Lite/ns:container");

                lock (list)
                {
                    list = updateList.ToList();
                }
                this.listUpdated();

            }
            catch (Exception e)
            {
                this.writeLog(LogType.Error, "Fehler beim Parsen des Metadatenfiles für Media-Information", e, _metaData);
            }
        }

Usage Example

Пример #1
0
        protected virtual MediaItem_Playlist createPlaylistQueue(String _playlistName)
        {
            System.String      givenName, queueIdCreated, containerInfoMetaData;
            CpContentDirectory contentDirectory = Global.getMediaServerManager().getContentDirectory();

            contentDirectory.CreateQueueSync(_playlistName, PlaylistRootContainerId, out givenName, out queueIdCreated, out containerInfoMetaData);

            UPNPMediaList dummyList = new UPNPMediaList();

            dummyList.createItemsFromMetaData(containerInfoMetaData);
            MediaItem_Playlist mediaItem = (MediaItem_Playlist)dummyList.list[0];

            /*Regex regex = new Regex(@"<dc:title>(?<command>.+)</dc:title>");
             * Match match = regex.Match(containerInfoMetaData);
             * if (match.Success)
             * {
             *  givenName = match.Groups["command"].Value;
             * }*/

            if (playlistCreated != null)
            {
                playlistCreated(givenName);
            }

            return(mediaItem);
        }
All Usage Examples Of RaumfeldNET.UPNPMediaList::createItemsFromMetaData