1

我想解析这个 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 的字符串。

执行后,结果为空。

我究竟做错了什么?

4

2 回答 2

2

XElement.Parse将返回TEST元素本身 - 它没有任何后代。(此外,在这里使用查询表达式没有任何from x in y select x好处。无论何时编写,您都应该考虑是否不能只使用y...)

您可以将其解析为一个XDocument,在这种情况下会有一个后代TEST......或者您可以只使用它XElement本身。

你真正想要达到什么目的?您真正的XML 是否只有一个元素?

于 2012-12-24T15:40:16.757 回答
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;
于 2012-12-24T15:40:24.777 回答