如何从元素中获取子元素数组?
Posted
技术标签:
【中文标题】如何从元素中获取子元素数组?【英文标题】:How to get array of subelements from an element? 【发布时间】:2019-12-17 04:46:55 【问题描述】:我的 xml 看起来像这样
<stock name="Fish">
<eqn>100</eqn>
<inflow>Spawns</inflow>
<outflow>Deaths</outflow>
<outflow>Flow_1</outflow>
<non_negative/>
</stock>
我的代码看起来像这样
var stockList = from q in variable.Descendants(ns + "stock")
select new
name = q.FirstAttribute.Value,
initial = q.Element(ns + "eqn").Value,
inflow = q.Element(ns + "inflow").Value,
outflow = q.Element(ns + "outflow").Value
;
这只给了我第一个流入和第一个流出,但是有两个流出,所以我需要将每个流出都存储在一个数组中。
【问题讨论】:
不客气。另外,由于您是 *** 的新手,我想通知您,您可以通过勾选答案旁边的勾号来为好的答案投票并接受对您帮助最大的答案。在本网站上,点赞或接受的答案都算作“感谢”。 【参考方案1】:您可以使用public IEnumerable<XElement> Elements (XName name)
method。它返回该元素的所有具有匹配名称的子元素。
outflow = q.Elements(ns + "outflow").Select(el => el.Value).ToArray()
或
outflow = (from el in q.Elements(ns + "outflow") select el.Value).ToArray()
【讨论】:
以上是关于如何从元素中获取子元素数组?的主要内容,如果未能解决你的问题,请参考以下文章
获取数组中每个索引的子文档元素计数并更新子文档键 - 数组中的子文档(IN MONGODB)