我有一个简单的xml元素字符串,我正在尝试解析为字符串。例如:
<root>
<element1>one</element1>
<element2>two</element2>
</root>"
我收到一个包含元素及其值的字符串。它被分配给一个字符串变量(例如字符串sxml)。
我正在尝试执行以下操作,但所有字符串都是空的。
string sOne = "";
string sTwo = "";
var strings = XDocument.Parse(sxml)
.Decendents("root")
.Select(n => new {
sOne = n.Element("element1").Value,
sTwo = n.Element("element2").Value
});
有人可以告诉我应该如何纠正我的语法吗?
感谢。
答案 0 :(得分:0)
首先,将Decendents
更改为Decendants
。
然后,您的sOne
和sTwo
字符串变量无法以这种方式初始化。
LINQ select new
子句创建一个匿名类型的对象作为查询结果。
您的strings
变量将保存1个匿名类型的对象,其中包含2个变量。
要初始化您的初始字符串,您应该在代码下方添加以下两行:
sOne = strings.ElementAt(0).sOne;
sTwo = strings.ElementAt(0).sTwo;