XMLTV troubleshooting

A guide download ends before the closing XML element

A partial response can fail parsing even if its opening channel data looks right.

A partial response can fail parsing even if its opening channel data looks right.

Reproduce the condition

The XMLTV sample below is a small synthetic file. It carries no active media source or account data.

<tv><channel id="news.example"><display-name>Example News</display-name>

What the local check found

Reproducible check against the packaged fixture and parser.
Expected signalObserved signal
XML does not parseXML does not parse

What to do next

Compare the download length with a clean export. Retry through the provider's official tool and inspect the file locally before importing.

What to share if the problem continues

  • The exact parser result and version of the importer or player.
  • A minimal redacted sample with dates, IDs or segment names retained as needed.
  • The output after checking the source export separately from the viewer app.

Check whether the saved body is a complete document

Open a copy of the response from a guide feed you administer or are authorised to use. If it is compressed, use its documented compression method and inspect the unpacked file. A response that begins with the expected XML can still end in the middle of a programme. Validate the complete copy before changing channel IDs or trying to repair individual programme rows.

If the saved body instead starts with an HTML sign-in page or an error message, report that response to the feed operator. A filename ending in .xml, a successful network connection or an early channel entry is insufficient evidence that the response contains a complete guide.

Keep the last verified copy while investigating

Suppose the morning export validates and the afternoon copy stops halfway through a title. Keep the last validated guide and ask the operator whether the new transfer finished. Compare byte counts only when the same feed and encoding are expected. A legitimate new guide can be longer or shorter. Check the parser error and response format as well.

Once you have a complete file, verify one known channel, the date range and the programme count before replacing the working copy. Share the time of failure and a short redacted parser message. Keep the feed URL and signed requests private.

Saved resultNext action
XML stops mid-elementGet a fresh complete response from the authorised source
HTML sign-in or error bodyVerify the documented access method with the operator
Complete XML, no programmes in the date rangeCheck the source’s schedule range
One channel still missing after validationCompare the channel and programme reference IDs

Sources and further reading