2016-07-18 3 views
-1

Ich habe eine XML, die einige Daten enthält und ich möchte einige Informationen extrahieren, aber ich kann es nicht herausfinden, wie. Ich werde ein Beispiel abgeben unten:Lesen Sie das gleiche Attribut von 2 verschiedenen XML Tags

<ns:Taggg ns:SelectThisValues="3421" xmlns:ns="namespaceURL">3421<ns:AnotherTaggg ns:SomeValue="3421" /> 
</ns:Taggg> 

    <ns:Taggg2 ns:SelectThisValues="3422" xmlns:ns="namespaceURL">3422<ns:AnotherTaggg ns:SomeValue="3421" /> 
</ns:Taggg2> 

auf dieser Grundlage, ich möchte, um die Werte wählen aus ‚SelectThisValues‘ Attribut, sondern von beiden Tags, in nur einem Arbeitsgang.

Der Namespace ist in diesem Beispiel als ns definiert.

Ich habe nicht sehr viel Erfahrung mit XML, aber ich weiß, dass es möglich ist, ist einfach, ich weiß nicht, wie genau es geht. Kann mir jemand helfen? Jede Idee ist willkommen!

Ich brauche nicht nur die Grundidee, ich mit Komplexität Ideen umgehen kann

+1

Welche Klasse tun Sie jetzt, dass laden verwenden XML? – rene

+1

Wo ist dein aktueller Versuch? Und was meinen Sie mit "Werte in einer Operation auswählen" - was ist Ihr erwarteter Rückgabewert/Typ? –

+0

10 @CharlesMager Wenn Sie die Abstimmungsschaltfläche drücken, hoffe ich, dass Sie Ihre Meinung ändern. Warum fragen Sie das? Ist das nicht offensichtlich? 3421 als String, ich brauche nur seinen Wert – dpaul

Antwort

1

Sie dies mit LINQ to XML ziemlich trivialer Weise tun können:

XNamespace ns = "namespaceURL"; 

var doc = XDocument.Parse(xmlString); 

var values = doc.Descendants() 
    .Attributes(ns + "SelectThisValues") 
    .Select(x => x.Value); 
+0

Interessant..aber aus irgendeinem Grund bekomme ich keinen Wert – dpaul

+0

[Es funktioniert mit Ihrem Beispiel] (https://dotnetfiddle.net/dMMmz4) . Ohne ein [mcve], das zeigt, dass es nicht funktioniert, kann ich nicht wirklich vorschlagen, was du falsch machst. –

+0

Ja, ist wahrscheinlich mein Fehler irgendwo. Danke für Ihre Unterstützung und Hilfe. Ich schätze! – dpaul