linq到xml。读。并分配给ViewData..noob

时间:2010-03-22 16:52:56

标签: c# linq linq-to-xml

我有一些与此类似的xml:

<?xml version="1.0" encoding="utf-8" ?>
<data>
    <resources>
        <resource key="Title">Alpha</resource>
        <resource key="ImageName">Small.png</resource>
        <resource key="Desc">blah</resource>
</resources>
</data>

使用linq-xml如何在此处将每个资源分配为ViewData集合的键值对。

感谢。

2 个答案:

答案 0 :(得分:1)

var doc = XDocument.Parse(documentString);
foreach (var res in doc.Root.Descendants("resources")) {
    ViewData[(string) res.Attribute("key")] = res.Value;
}

应该工作。

答案 1 :(得分:1)

假设您将hat xml加载到XDocument中,您可以迭代teh后代。这是一个简单的例子,如果它来自一个字符串:

var doc = XDocument.Parse(docAsString);
 foreach (var resource in doc.Descendants("resource"))
     ViewData[resource.Attribute("key").Value] = resource.Value;