linq to xml。读。并分配给ViewData..noob
问题描述:
我有类似这样的一些XML:linq to xml。读。并分配给ViewData..noob
<?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的集合。
谢谢。
答
var doc = XDocument.Parse(documentString);
foreach (var res in doc.Root.Descendants("resources")) {
ViewData[(string) res.Attribute("key")] = res.Value;
}
应该工作。
答
假设你将xml文件加载到XDocument中,你可以迭代后代。这里有一个简单的例子,如果它来自一个字符串:
var doc = XDocument.Parse(docAsString);
foreach (var resource in doc.Descendants("resource"))
ViewData[resource.Attribute("key").Value] = resource.Value;
谢谢,你的答案有帮助。尽管我使用了doc.Descendants,而不是doc.Root.Descendants – raklos 2010-03-22 17:27:22