Wpis z mikrobloga

@Analityk: Pobaw się debugerem i porób breakpointy, ewentualnie printuj sobie aktualną zawartość elementu XML.

String zaczytujesz w następujący sposób

XDocument doc = XDocument.Parse("");
Console.WriteLine(doc.Root);

Do kolejnych elementów odwołujesz się poprzez Elements() gdzie zwraca listę wszystkich węzłów potomnych, albo Element("Nazwa") gdzie zwraca element o zadanej nazwie.

Alternatwynie zawartośc elementu XML (package) można zdeserializować bezpośrednio na klasę.
@jblck: A jeżeli nie znam z nazwy elementów?
to przykład, elementów typu package jest wiele i ich nazwy też muszę gdzieś zapamiętać.
Generalnie mam pomysł na organizację tego wszystkiego, na razie pobawię się linq
Nazwą elementu jest package, twój name to tylko dodatkowy atrybut. Elements() wybiera wszystkie elementy potomne niezależnie od ich nazwy, to tak jakbyś wykonał XPath /descendant::node()