You can load the .xml file in some of the xml components for Delphi, like TXMLDocument. But it is SLOW, takes a LOT of memory and worst of all - have some strange behavior - after accessing a node you have to manually free it. Not to mention that you have to traverse trough nodes until you reach desired branch. If you need a simple job - like taking channels name from xml, I would suggest to open it as a txt file (you can open it trough TStringList for example, and use Text property for direct access) and manually parse it (use PosEx, to incrementally search for node names, and then Copy to extract desired names)