【发布时间】:2010-10-03 23:14:19
【问题描述】:
如何获取 XElement 的子元素?
我目前正在使用 XElement.Descendants() 函数,它返回所有级别的 XElement,而不仅仅是子节点。
我真正想要的是一个只有孩子的 IEnumerable。
【问题讨论】:
标签: c# xml linq-to-xml xelement
如何获取 XElement 的子元素?
我目前正在使用 XElement.Descendants() 函数,它返回所有级别的 XElement,而不仅仅是子节点。
我真正想要的是一个只有孩子的 IEnumerable。
【问题讨论】:
标签: c# xml linq-to-xml xelement
通过调用Element() 或Elements() 函数可以访问XElement 的直接子元素。使用带有名称的重载来访问特定元素,或者不使用名称来访问所有子元素。
还有类似的方法,例如 Attribute() 和 Attributes(),您可能会觉得有用。
【讨论】:
Element() 没有无参数重载,所以当我知道它的 XName 可以变化时,这并不能帮助我获得第一个孩子。
Elements().FirstOrDefault()。
Elements 和 Attributes 遵循 Xml 标准的命名法。
XElement.Nodes() 应该可以得到你想要的。
如果您只想要 XElement 子节点,那么您可能需要限制它(取决于您的 XML):
XElement.Nodes().OfType<XElement>()
【讨论】:
【讨论】: