I wrote a tool to load VDR with XMLTV data. Written in Go with 0 external dependencies and does a few things nicer than that perl script that's been floating around

Source: https://github.com/adamflott/vdr-epg-tool
Usage: http://adamflott.com/loading-vdr-with-xmltv-data/

Probably not 100% bug free, but it works for me.

$ tv_grab_na_dd --days 1 --output /tmp/epg_schedules_direct.xml \
  && vdr-epg-tool -c /var/lib/vdr/channels.conf -x /tmp/epg_schedules_direct.xml epg-load \
  && rm /tmp/epg_schedules_direct.xml


Enjoy!