mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-31 21:08:27 +01: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))
|
||||
|
||||
@@ -43,17 +43,31 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
|
||||
case "PlaylistItems":
|
||||
|
||||
using (var subReader = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromCollectionItemsNode(subReader, item);
|
||||
using (var subReader = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromCollectionItemsNode(subReader, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
|
||||
case "Shares":
|
||||
|
||||
using (var subReader = reader.ReadSubtree())
|
||||
if (!reader.IsEmptyElement)
|
||||
{
|
||||
FetchFromSharesNode(subReader, item);
|
||||
using (var subReader = reader.ReadSubtree())
|
||||
{
|
||||
FetchFromSharesNode(subReader, item);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Read();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -79,6 +93,12 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
{
|
||||
case "PlaylistItem":
|
||||
{
|
||||
if (reader.IsEmptyElement)
|
||||
{
|
||||
reader.Read();
|
||||
continue;
|
||||
}
|
||||
|
||||
using (var subReader = reader.ReadSubtree())
|
||||
{
|
||||
var child = GetLinkedChild(subReader);
|
||||
@@ -123,6 +143,12 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
{
|
||||
case "Share":
|
||||
{
|
||||
if (reader.IsEmptyElement)
|
||||
{
|
||||
reader.Read();
|
||||
continue;
|
||||
}
|
||||
|
||||
using (var subReader = reader.ReadSubtree())
|
||||
{
|
||||
var child = GetShare(subReader);
|
||||
|
||||
Reference in New Issue
Block a user