diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs index 23b974576..59c8f4da5 100644 --- a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs @@ -99,29 +99,24 @@ namespace MediaBrowser.LocalMetadata.Parsers item.ResetPeople(); using (var fileStream = File.OpenRead(metadataFile)) + using (var streamReader = new StreamReader(fileStream, encoding)) + using (var reader = XmlReader.Create(streamReader, settings)) { - using (var streamReader = new StreamReader(fileStream, encoding)) + reader.MoveToContent(); + reader.Read(); + + // Loop through each element + while (!reader.EOF && reader.ReadState == ReadState.Interactive) { - // Use XmlReader for best performance - using (var reader = XmlReader.Create(streamReader, settings)) + cancellationToken.ThrowIfCancellationRequested(); + + if (reader.NodeType == XmlNodeType.Element) + { + FetchDataFromXmlNode(reader, item); + } + else { - reader.MoveToContent(); reader.Read(); - - // Loop through each element - while (!reader.EOF && reader.ReadState == ReadState.Interactive) - { - cancellationToken.ThrowIfCancellationRequested(); - - if (reader.NodeType == XmlNodeType.Element) - { - FetchDataFromXmlNode(reader, item); - } - else - { - reader.Read(); - } - } } } } |
