ich eine XML-Datei haben wie:prüfen xml Elementwert C#
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Session TimeStamp="2016-12-21T17:01:01.8642453+02:00">
<Message>
<Content>test1</Content>
<ID>1</ID>
<Timestamp>12/21/2016 17:01:01</Timestamp>
<EventType>Debug</EventType>
<Priority>High</Priority>
</Message>
<Message>
<Content>test2</Content>
<ID>2</ID>
<Timestamp>12/21/2016 17:01:01</Timestamp>
<EventType>Exception</EventType>
<Priority>Low</Priority>
</Message>
<Message>
<Content>test3</Content>
<ID>3</ID>
<Timestamp>12/21/2016 17:01:01</Timestamp>
<EventType>Info</EventType>
<Priority>Medium</Priority>
</Message>
<Message>
<Content>test4</Content>
<ID>4</ID>
<Timestamp>12/21/2016 17:01:01</Timestamp>
<EventType>Warn</EventType>
<Priority>None</Priority>
</Message>
</Session>
</Root>
möchte ich den Wert des Elements Inhalt in jeder Nachricht überprüfen, i mit dieser Methode versuchen haben:
Assert.IsTrue(xDocument.Root.Elements("Session").Last().Elements("Message").First().Element("Content").Value.Contains("test1"));
Ausnahme: System.InvalidOperationException: Sequenz enthält keine Elemente
Die Methode fehlschlagen, kann den Elementwert nicht finden, wie kann ich es mit xdocument tun?
Ich schlage vor, dass Sie diese lange Anweisung in kürzere aufteilen und sie im Debugger durchlaufen. Auf diese Weise können Sie sehen, welche Anweisung fehlschlägt. Und wenn Sie sich die Variablen ansehen, erhalten Sie einige Hinweise, warum dies fehlschlägt. – wkl
Ihr Code funktioniert, wenn ich versuche, es zu replizieren. Wie analysierst du den Text zum xDocument? Verwenden Sie XDocument.Parse? – PartlyCloudy