Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error parseando el XML de EPG #4143

Open
scinos opened this issue Nov 27, 2024 · 1 comment
Open

Error parseando el XML de EPG #4143

scinos opened this issue Nov 27, 2024 · 1 comment

Comments

@scinos
Copy link

scinos commented Nov 27, 2024

Estoy intentando añadir TDTChannels a Jellyfin. La lista de canales funciona bien, pero cuando intento añadir la EPG, da el siguiente error:

[2024-11-27 06:52:47.071 +01:00] [ERR] Error getting programs for channel "La Urban TV España"
System.Xml.XmlException: '[' is an unexpected token. The expected token is ';'. Line 2981, position 91.
   at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
   at System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at Jellyfin.XmlTv.XmlTvReader.GetChannels()
   at Jellyfin.LiveTv.Listings.XmlTvListingsProvider.GetChannels(ListingsProviderInfo info, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Listings.ListingsManager.GetEpgChannels(IListingsProvider provider, ListingsProviderInfo info, Boolean enableCache, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Listings.ListingsManager.GetProgramsAsync(ChannelInfo channel, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.DefaultLiveTvService.GetProgramsAsync(String channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Guide.GuideManager.RefreshChannelsInternal(ILiveTvService service, IProgress`1 progress, CancellationToken cancellationToken)

Revisando el XML (https://www.tdtchannels.com/epg/TV.xml.gz), veo que la linea 2981 contiene

		<icon src="https://www.movistarplus.es/recorte/n/caratula5/F4165123?od[]=Z3V:COMPM3_V&od[]=Z1V:HBOMAX_V"/>

Si no me equivoco, el & no es legal en XML y rompe el parseado. Deberia ser &amp.

@sora4popla
Copy link

sora4popla commented Dec 4, 2024

Yo he tenido otro error distinto, también tratando de añadir la EPG a Jellyfin.

[2024-12-04 18:44:52.044 +01:00] [INF] [29] Jellyfin.LiveTv.Listings.XmlTvListingsProvider: xmltv path: "https://www.tdtchannels.com/epg/TV.xml"
[2024-12-04 18:44:52.044 +01:00] [ERR] [29] Jellyfin.LiveTv.Guide.GuideManager: Error getting programs for channel "3ABN USA EN"
System.Xml.XmlException: '�', hexadecimal value 0x1F, is an invalid character. Line 1, position 1.
   at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at Jellyfin.XmlTv.XmlTvReader.GetChannels()
   at Jellyfin.LiveTv.Listings.XmlTvListingsProvider.GetChannels(ListingsProviderInfo info, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Listings.ListingsManager.GetEpgChannels(IListingsProvider provider, ListingsProviderInfo info, Boolean enableCache, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Listings.ListingsManager.GetProgramsAsync(ChannelInfo channel, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.DefaultLiveTvService.GetProgramsAsync(String channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
   at Jellyfin.LiveTv.Guide.GuideManager.RefreshChannelsInternal(ILiveTvService service, IProgress`1 progress, CancellationToken cancellationToken)
[2024-12-04 18:44:52.045 +01:00] [INF] [29] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Refresh Guide" Completed after 0 minute(s) and 3 seconds

Aparece la misma entrada en todos los canales. Al parecer, este carácter es una especie de tabulador de Windows que no está permitido en XML (dejo link 1 y link 2 con problemas similares en stack overflow). Estos caracteres, que se usan por todo el archivo erróneamente, deberían sustituirse por tabuladores.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants