From 8f64a5555b055f42d4c3814725a4e961c2fc980d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 2 Nov 2016 13:29:06 -0400 Subject: update xml parsing --- .../Parsers/BaseItemXmlParser.cs | 19 +++++++---- .../Parsers/BoxSetXmlParser.cs | 19 +++++++---- .../Parsers/PlaylistXmlParser.cs | 38 +++++++++++++++------- 3 files changed, 52 insertions(+), 24 deletions(-) (limited to 'MediaBrowser.LocalMetadata') diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs index 0c9226cf02..31b13056ca 100644 --- a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs @@ -1329,11 +1329,13 @@ namespace MediaBrowser.LocalMetadata.Parsers protected Share GetShare(XmlReader reader) { - reader.MoveToContent(); - var item = new Share(); - while (reader.Read()) + reader.MoveToContent(); + reader.Read(); + + // Loop through each element + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -1350,12 +1352,17 @@ namespace MediaBrowser.LocalMetadata.Parsers item.CanEdit = string.Equals(reader.ReadElementContentAsString(), "true", StringComparison.OrdinalIgnoreCase); break; } - default: - reader.Skip(); - break; + { + reader.Skip(); + break; + } } } + else + { + reader.Read(); + } } // This is valid diff --git a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs index d792373bf1..c42b44f9e5 100644 --- a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs @@ -31,11 +31,13 @@ namespace MediaBrowser.LocalMetadata.Parsers private void FetchFromCollectionItemsNode(XmlReader reader, MetadataResult item) { - reader.MoveToContent(); - var list = new List(); - while (reader.Read()) + reader.MoveToContent(); + reader.Read(); + + // Loop through each element + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -55,12 +57,17 @@ namespace MediaBrowser.LocalMetadata.Parsers break; } - default: - reader.Skip(); - break; + { + reader.Skip(); + break; + } } } + else + { + reader.Read(); + } } item.Item.LinkedChildren = list; diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs index 4c45545fce..ee986ae2df 100644 --- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs @@ -65,11 +65,13 @@ namespace MediaBrowser.LocalMetadata.Parsers private void FetchFromCollectionItemsNode(XmlReader reader, Playlist item) { - reader.MoveToContent(); - var list = new List(); - while (reader.Read()) + reader.MoveToContent(); + reader.Read(); + + // Loop through each element + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -89,12 +91,17 @@ namespace MediaBrowser.LocalMetadata.Parsers break; } - default: - reader.Skip(); - break; + { + reader.Skip(); + break; + } } } + else + { + reader.Read(); + } } item.LinkedChildren = list; @@ -102,11 +109,13 @@ namespace MediaBrowser.LocalMetadata.Parsers private void FetchFromSharesNode(XmlReader reader, Playlist item) { - reader.MoveToContent(); - var list = new List(); - while (reader.Read()) + reader.MoveToContent(); + reader.Read(); + + // Loop through each element + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -126,12 +135,17 @@ namespace MediaBrowser.LocalMetadata.Parsers break; } - default: - reader.Skip(); - break; + { + reader.Skip(); + break; + } } } + else + { + reader.Read(); + } } item.Shares = list; -- cgit v1.2.3