aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Parsers
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-02 13:29:06 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-02 13:29:06 -0400
commit8f64a5555b055f42d4c3814725a4e961c2fc980d (patch)
tree2f61e242605969f80dbcc8e6bb96e1dbc0147ff4 /MediaBrowser.LocalMetadata/Parsers
parent7cf0f79f85e386a4346a74046ee36f0d30c0dcdd (diff)
update xml parsing
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers')
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs19
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs19
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs38
3 files changed, 52 insertions, 24 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
index 0c9226cf0..31b13056c 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 d792373bf..c42b44f9e 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<BoxSet> item)
{
- reader.MoveToContent();
-
var list = new List<LinkedChild>();
- 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 4c45545fc..ee986ae2d 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<LinkedChild>();
- 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<Share>();
- 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;