Ich muss den Inhalt eines Knotens in einer XElement-Hierarchie ersetzen, wenn der Elementname und alle Attributnamen und Werte einem Eingabeelement entsprechen . (Wenn es keine Übereinstimmung gibt, kann das neue Element hinzugefügt werden.)Ich brauche einen LINQ-Ausdruck, um ein XElement zu finden, wo der Elementname und die Attribute einem Eingabeknoten entsprechen.
Zum Beispiel, wenn meine Daten wie folgt aussehen:
<root>
<thing1 a1="a" a2="b">one</thing1>
<thing2 a1="a" a2="a">two</thing2>
<thing2 a1="a" a3="b">three</thing2>
<thing2 a1="a">four</thing2>
<thing2 a1="a" a2="b">five</thing2>
<root>
Ich möchte das letzte Element zu finden, wenn ich eine Methode, mit diesem Aufruf Eingabe:
Die Methode sollte keine fest codierten Element- oder Attributnamen haben - sie stimmt einfach die Eingabe mit den Daten ab.
Eine mögliche Optimierung (nicht sicher, wie die Daten intern gespeichert sind) den Namen als Argument für Elemente angeben, wäre() anstatt es in die Where-Klausel aufzunehmen. –
Warum das gesamte Element ersetzen? Kannst du nicht nur den Wert ersetzen? – Haroon
Ja, in diesem speziellen Fall könnten Sie einfach die Value-Eigenschaft festlegen. –