Abrufen anonymer Typ aus dem Internet in C#

Ich versuche zum abrufen von Daten aus dem web. Die Daten dienten entweder als JSON-Objekt-oder XML -: in beiden Fällen möchte ich nicht, ein Modell zu bauen auf der Grundlage der Struktur dieser XML - /JSON-aber nur die Daten abrufen, die ich brauche.

HttpResponseMessage response = await client.PostAsync(
"http://www.someAPI.com/api.xml",
requestContent);

response.EnsureSuccessStatusCode();

HttpContent content = response.Content;

Wenn ich ein Modell zu bauen, basierend auf der Daten-Struktur, die ich erhalten werde zurück ich werde es tun: ich möchte nur wissen, ob es irgendeine alternative. Kann ich analysieren content als eine anonyme Art und, sagen wir, das abrufen der Daten, die als beliebige Felder oder Eigenschaften oder array-Indizes?

Sagen wir mal: response.Countries[5].CountryId. Ist es möglich, in diesen 2 Typen (JSON und XML)? Wie kann ich es tun?

  • Sollten Sie formulieren Ihre Fragen: wie es jetzt ist, sind die Antworten ja und ja. Aber ich denke, das hilft Ihnen nicht viel.
  • Sie könnten versuchen, Zuordnung der Inhalte, die Sie wieder zu einer dynamic - - variable und den Zugriff auf die Eigenschaften/Werte aus - aber dann müssten Sie wissen vorher, was die Namen der Eigenschaften sind
  • natürlich, ich weiß schon, die Daten-Struktur. Ich will einfach nicht, ein Modell zu bauen über die es.
  • Haben Sie sah über die XPath Selektoren in .NET? Diese werden zusammen mit LINQ und die XDocument - Klasse bieten eine wirklich einfache und leistungsstarke Möglichkeit zum Zugriff auf XML-Daten.
  • Ein Modell wie in, mit, um erstellen Sie eine POCO, nur um in der Lage sein, um den Inhalt zugreifen? Dann dynamic könnte eine ordentliche Weg, um zu bekommen, dass.
  • Ich Stimme mit Sameer Singh, ich würde denken, die dynamische variable wäre der beste Weg zu gehen? (d.h. setzen die response.Content in einem dynamischen var würde den trick tun, dann könnten Sie rufen Sie die bekannte Eigenschaft direkt.)

InformationsquelleAutor Saturnix | 2013-08-01
Schreibe einen Kommentar