Models
XmlTvSharp models follow XMLTV element names where practical.
The main document model is XmlTvDocument:
csharp
var document = new XmlTvDocument();
document.Metadata.GeneratorInfoName = "My App";
document.Channels.Add(new XmlTvChannel("channel-one", "Channel One"));
document.Programmes.Add(
new XmlTvProgramme(
XmlTvDateTime.Parse("20260605120000 +0000"),
"channel-one",
"News"));Document
XmlTvDocument contains:
Metadatafor root<tv>attributes.Channelsfor<channel>elements.Programmesfor<programme>elements.
Channels
Channels require:
Id- at least one
DisplayNamesitem
Optional repeated values such as Icons and Urls are exposed as mutable collections.
Programmes
Programmes require:
StartChannelId- at least one
Titlesitem
Programmes expose optional values such as Stop, Date, Credits, Ratings, EpisodeNumbers, and Extensions.
Collections
Repeated elements are exposed as non-null mutable collections:
csharp
programme.Categories.Add(new XmlTvLocalizedText("News"));
programme.Urls.Add(new XmlTvUrl("https://example.test/programme"));The model is editable. The writer validates required fields when writing.
Value Types
Common leaf values have dedicated models:
XmlTvLocalizedTextXmlTvDateTimeXmlTvDurationXmlTvIconXmlTvUrlXmlTvEpisodeNumberXmlTvRatingXmlTvImage