mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-24 01:34:45 +03:00
update xml parsing
This commit is contained in:
@@ -395,18 +395,32 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
|
||||
case "TagLines":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromTaglinesNode(subtree, item);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromTaglinesNode(subtree, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "Countries":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromCountriesNode(subtree, item);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromCountriesNode(subtree, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -592,14 +606,21 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
|
||||
case "Trailers":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
var hasTrailers = item as IHasTrailers;
|
||||
if (hasTrailers != null)
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchDataFromTrailersNode(subtree, hasTrailers);
|
||||
var hasTrailers = item as IHasTrailers;
|
||||
if (hasTrailers != null)
|
||||
{
|
||||
FetchDataFromTrailersNode(subtree, hasTrailers);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -699,59 +720,101 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
|
||||
case "Genres":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromGenresNode(subtree, item);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromGenresNode(subtree, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "Tags":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromTagsNode(subtree, item);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromTagsNode(subtree, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "PlotKeywords":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromKeywordsNode(subtree, item);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromKeywordsNode(subtree, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "Persons":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchDataFromPersonsNode(subtree, itemResult);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchDataFromPersonsNode(subtree, itemResult);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "Studios":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromStudiosNode(subtree, item);
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromStudiosNode(subtree, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "Shares":
|
||||
{
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
var hasShares = item as IHasShares;
|
||||
if (hasShares != null)
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromSharesNode(subtree, hasShares);
|
||||
var hasShares = item as IHasShares;
|
||||
if (hasShares != null)
|
||||
{
|
||||
FetchFromSharesNode(subtree, hasShares);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -824,6 +887,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
{
|
||||
case "Share":
|
||||
{
|
||||
if (reader.IsEmptyElement)
|
||||
{
|
||||
reader.Read();
|
||||
continue;
|
||||
}
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
var share = GetShareFromNode(subtree);
|
||||
@@ -1090,6 +1158,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
case "Person":
|
||||
case "Actor":
|
||||
{
|
||||
if (reader.IsEmptyElement)
|
||||
{
|
||||
reader.Read();
|
||||
continue;
|
||||
}
|
||||
using (var subtree = reader.ReadSubtree())
|
||||
{
|
||||
foreach (var person in GetPersonsFromXmlNode(subtree))
|
||||
|
||||
Reference in New Issue
Block a user