aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-03 18:57:34 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-03 18:57:34 -0500
commit7ed6c67db0f28c5776d972668a438369c3b96aef (patch)
tree234d4878911b9fa9f18aed5a3166e301e572ec3d /MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
parent83ad945015541aefbe2a0cd2a00ed6e0c151f72c (diff)
update xml parsing
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs53
1 files changed, 42 insertions, 11 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 4bee8c3ca..dba6d96ac 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -655,15 +655,22 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "actor":
{
- using (var subtree = reader.ReadSubtree())
+ if (!reader.IsEmptyElement)
{
- var person = GetPersonFromXmlNode(subtree);
-
- if (!string.IsNullOrWhiteSpace(person.Name))
+ using (var subtree = reader.ReadSubtree())
{
- itemResult.AddPerson(person);
+ var person = GetPersonFromXmlNode(subtree);
+
+ if (!string.IsNullOrWhiteSpace(person.Name))
+ {
+ itemResult.AddPerson(person);
+ }
}
}
+ else
+ {
+ reader.Read();
+ }
break;
}
@@ -831,9 +838,16 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "fileinfo":
{
- using (var subtree = reader.ReadSubtree())
+ if (!reader.IsEmptyElement)
{
- FetchFromFileInfoNode(subtree, item);
+ using (var subtree = reader.ReadSubtree())
+ {
+ FetchFromFileInfoNode(subtree, item);
+ }
+ }
+ else
+ {
+ reader.Read();
}
break;
}
@@ -896,15 +910,22 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "resume":
{
- using (var subtree = reader.ReadSubtree())
+ if (!reader.IsEmptyElement)
{
- if (!string.IsNullOrWhiteSpace(userDataUserId))
+ using (var subtree = reader.ReadSubtree())
{
- var userData = GetOrAdd(itemResult, userDataUserId);
+ if (!string.IsNullOrWhiteSpace(userDataUserId))
+ {
+ var userData = GetOrAdd(itemResult, userDataUserId);
- FetchFromResumeNode(subtree, item, userData);
+ FetchFromResumeNode(subtree, item, userData);
+ }
}
}
+ else
+ {
+ reader.Read();
+ }
break;
}
@@ -1006,6 +1027,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
case "streamdetails":
{
+ if (reader.IsEmptyElement)
+ {
+ reader.Read();
+ continue;
+ }
using (var subtree = reader.ReadSubtree())
{
FetchFromStreamDetailsNode(subtree, item);
@@ -1039,6 +1065,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
case "video":
{
+ if (reader.IsEmptyElement)
+ {
+ reader.Read();
+ continue;
+ }
using (var subtree = reader.ReadSubtree())
{
FetchFromVideoNode(subtree, item);