我想解析这个XML:
<?xml version="1.0" encoding="Windows-1252" ?>
<TEST>Login inexistant</TEST>
我写了这段代码
var result = from item in XElement.Parse(m_strRetour).Descendants("TEST")
select item;
return result.First().ToString();
m_strRetour是一个包含我的XML的字符串。
执行后,结果为空。
我做错了什么?
答案 0 :(得分:2)
XElement.Parse
将返回TEST
元素本身 - 它没有任何后代。 (另外,在这里使用查询表达式有没有的好处。每当你写from x in y select x
时,你应该考虑是否不能只使用y
来代替......)
您可以将其解析为XDocument
,在这种情况下,将成为TEST
后代......或者您可以使用XElement
本身。
你真正想要实现的目标是什么?您的真实 XML只有一个元素吗?
答案 1 :(得分:2)
TEST
似乎是您的根节点,因此它不能是Descendant
。
要从中获取价值,您可以试试这个。
var xml = "<?xml version='1.0' encoding='Windows-1252' ?><TEST>Login inexistant</TEST>";
var result = XElement.Parse(xml);
var value = result.Value;