空XML节点

时间:2012-10-10 08:01:33

标签: c# xml microsoft-metro

我正在为我的大学制作一个从XML中收集数据的应用程序。除了课程的其他部分,我在Windows 8的现代用户界面中做到这一点,除了一件小事之外,它对我很有用。

当我收集特定节点的子节点时,我是否会获得不存在的/空值。 我应该得到的值是这些。

  • 你好
  • 再见
  • Hello World

但我进入列表视图的内容如下: (这意味着空)

  • 你好
  • 再见
  • Hello World

我用来获取列表视图中的项目的代码如下。

        foreach (IXmlNode Node in XmlFile.SelectSingleNode("XML").SelectSingleNode("List").ChildNodes)
        {
            lvList.Items.Add(Node.InnerText.ToString());
        }

如何摆脱空值?

1 个答案:

答案 0 :(得分:0)

lvList = XmlFile.SelectSingleNode("XML")
              .SelectSingleNode("List")
              .ChildNodes
              .Cast<XmlNode>()
              .Select(n => n.InnerText)
              .Where(s => !string.IsNullOrWhiteSpace(s))
              .ToList();

或者:

 foreach (IXmlNode Node in XmlFile.SelectSingleNode("XML").SelectSingleNode("List").ChildNodes)
    {
        string nodeText = Node.InnerText;
        if (!string.IsNullOrWhiteSpace(nodeText))
            lvList.Items.Add(nodeText);
    }