From eefab227cc4fbb0de6d5c5ed5e193d36231cdb06 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 2 Nov 2016 13:08:20 -0400 Subject: update xml parsing --- .../Probing/ProbeResultNormalizer.cs | 39 +++++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) (limited to 'MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs') diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 8651f2758..f0c4c465d 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -200,9 +200,10 @@ namespace MediaBrowser.MediaEncoding.Probing using (var reader = XmlReader.Create(streamReader)) { reader.MoveToContent(); + reader.Read(); // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -219,6 +220,10 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } } } @@ -227,13 +232,14 @@ namespace MediaBrowser.MediaEncoding.Probing private void ReadFromDictNode(XmlReader reader, MediaInfo info) { - reader.MoveToContent(); - string currentKey = null; List pairs = new List(); + reader.MoveToContent(); + reader.Read(); + // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -272,17 +278,23 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } } private List ReadValueArray(XmlReader reader) { - reader.MoveToContent(); List pairs = new List(); + reader.MoveToContent(); + reader.Read(); + // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -303,6 +315,10 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } return pairs; @@ -360,13 +376,14 @@ namespace MediaBrowser.MediaEncoding.Probing private NameValuePair GetNameValuePair(XmlReader reader) { - reader.MoveToContent(); - string name = null; string value = null; + reader.MoveToContent(); + reader.Read(); + // Loop through each element - while (reader.Read()) + while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { @@ -383,6 +400,10 @@ namespace MediaBrowser.MediaEncoding.Probing break; } } + else + { + reader.Read(); + } } if (string.IsNullOrWhiteSpace(name) || -- cgit v1.2.3