XML с различным количеством дочерних узлов для каждого родительского узла

Поэтому у меня есть XML в следующем формате, который я читаю из файла test.xml,

<XML> <Agent ID="ABC123"> <Property> <Code>XYZ</Code> <Name>Hotel 1</Name> </Property> <Property> <Code>237</Code> <Name>Hotel 2</Name> </Property> <Property> <Code>213</Code> <Name>Hotel 3</Name> </Property> </Agent> <Agent ID="DEF456"> <Property> <Code>333</Code> <Name>Hotel 4</Name> </Property> <Property> <Code>23423</Code> <Name>Hotel 5</Name> </Property> </Agent> <Agent ID="GHI789"> <Property> <Code>45345</Code> <Name>Hotel 6</Name> </Property> </Agent> </XML> 

Я хочу, чтобы вывести вышеупомянутое в следующем формате:

 Agent | Code | Name ABC123 | XYZ | Hotel 1 ABC123 | 237 | Hotel 2 ...... 

Как мне это сделать, поскольку в каждом агенте есть несколько агентов и различное количество свойств?

У меня есть опыт использования XMLReader, но я счастлив попробовать альтернативу, такую ​​как SimpleXML.

Я думаю, мне нужно будет использовать цикл Foreach на этом (Foreach Agent ….), но не совсем уверен, с чего начать.

Благодаря!