Since your XML uses namespaces, you need to specify the namespace to the Descendants
method. The xsi namespace is defined by the attribute xmlns:xsi="@link"
at the beginning of your XML document.
So in your case, the code would be:
var doc = XDocument.Parse(message);
var res = doc.Descendants(XName.Get("value", "@link")).Select(o => o.Value).ToArray();
var x = res[0];