代码之家  ›  专栏  ›  技术社区  ›  Jake Pearson

XLIQ滤波

  •  1
  • Jake Pearson  · 技术社区  · 14 年前

    如何获取此XML并过滤掉使用xlinq标记为专家的菜单元素并返回其余元素?

    <data>
       <preferences />
       <menus>
          <menu type="expert">
             <sub />
          </menu>
          <menu type="beginner">
             <sub />
          </menu>
       </menus>
    </data>
    

    结果是:

    <data>
       <preferences />
       <menus>
          <menu type="beginner">
             <sub />
          </menu>
       </menus>
    </data>
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   Marc Gravell    14 年前
            // parse the DOM if needed
            XDocument doc =XDocument.Parse(xml);
            // find the expert menu items
            var remove = doc.Descendants("menu").Where(
                menu => (string)menu.Attribute("type") == "expert").ToList();
            // remove them
            foreach (var item in remove) {
                item.Remove();
            }
            // to get output
            string s = doc.ToString();