我要让这样一个脑残了。我已经选择了我需要的元素和值,我只是在努力让这个返回成为一个匿名类型:
下面是XML:
<r25:space xl:href="space.xml?space_id=244" id="BRJDMjQ0" crc="00000023" status="est">
<r25:space_id>244</r25:space_id>
<r25:space_name>BEC*103</r25:space_name>
<r25:formal_name>Branson Education Center 103</r25:formal_name>
<r25:partition_id />
<r25:partition_name />
<r25:favorite>F</r25:favorite>
<r25:max_capacity>24</r25:max_capacity>
<r25:fill_ratio />
<r25:last_mod_user>kleierd</r25:last_mod_user>
<r25:last_mod_dt>2009-11-19T15:35:33</r25:last_mod_dt>
</r25:space>我需要"space_id“和"space_name”的值,我可以使用下面的代码:
var ids = from id in xml.Descendants()
where id.Name.LocalName == "space_id" || id.Name.LocalName == "space_name"
select (string)id.Value;但我真的希望是这样的:
var ids = from id in xml.Descendants()
where id.Name.LocalName == "space_id" || id.Name.LocalName == "space_name"
select new
{
theId = //The id val would go here,
theName = //The name goes here
};发布于 2013-04-03 03:24:51
var ids = from id in xml.Descendants()
where id.Name.LocalName == "space_id" || id.Name.LocalName == "space_name"
select new
{
theId = id.Value,
theName = id.Name.LocalName
};ids将保存值:
theId theName
244 pace_id
BEC*103 space_name 这将选择相同的节点:
XNamespace r25 = "yourSchemaDefinition";
var ids = xml.Descendants(r25 + "space_id")
.Union(xml.Descendants(r25 + "space_name"))
.Select(id => new
{
theId = id.Value,
theName = id.Name.LocalName
});注意:我已经将r25模式定义添加到您的XML根节点
https://stackoverflow.com/questions/15772544
复制相似问题