首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LINQ-to-XML中查找或创建元素

在LINQ-to-XML中查找或创建元素
EN

Stack Overflow用户
提问于 2009-03-12 01:26:48
回答 1查看 1.6K关注 0票数 1

我想设置一个元素的值/子元素,这个元素可能已经存在,也可能不存在。如果元素不存在,我想让它自动为我创建。

这样,我的代码只需要关心元素的内容...而不是它是否已经存在。(当我完成它时,它肯定是存在的)。

LINQ-to-XML中是否已经存在此功能?我还没有找到它,正在考虑写我自己的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-03-12 02:33:08

这是我到目前为止所知道的:

代码语言:javascript
复制
public static IEnumerable<XElement> ElementsOrCreate(this XElement parent, XName name)
{
    IEnumerable<XElement> elements = parent.Elements(name);
    if (!elements.Any())
    {
      XElement element = new XElement(name);
      parent.Add(element);
      elements = new XElement[] { element };
    }
    return elements;
}

请注意,第一个参数(用于扩展)是一个XElement,而不是像System.Xml.Linq.Extensions.Elements那样的XContainer。另一个非XElement XContainer是XDocument,这个方法对XDocument不起作用(也没有多大意义)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/637065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档