删除空XML元素

时间:2013-03-09 04:39:27

标签: c# xml

我有一个XML文档,我需要数据绑定,但首先我需要删除所有空值的元素。

以前,我这样做了:

            IEnumerable<Message> data = from info in xdoc.Descendants(tns + "sign")
                                         where info.Element(tns + "current-message").Value != ""
                                         select
                                             new Message(
                                                 info.Element(tns + "name").Value,
                                                 info.Element(tns + "current-message").Value);

            MessageList.DataContext = data;

我试图在Windows Phone 8上做同样的事情但是我的当前代码不成功:

        foreach (var info in xdoc.Descendants(tns + "sign"))
        {
                Items.Add(new ItemViewModel()
                    {
                        ID = i.ToString(),
                        LineOne = info.Element(tns + "direction").Value,
                        LineTwo = info.Element(tns + "current-message").Value,
                        LineThree = info.Element(tns + "name").Value

                    });
                i++;
        }

如何添加一个子句来确保没有“current-message”的任何元素都不在此数据绑定中?

1 个答案:

答案 0 :(得分:0)

 foreach (var info in xdoc.Descendants(tns + "sign"))
        {
if(info.Element(tns + "current-message").Value != "")
                {
                Items.Add(new ItemViewModel()
                    {
                        ID = i.ToString(),
                        LineOne = info.Element(tns + "direction").Value,
                        LineTwo = info.Element(tns + "current-message").Value,
                        LineThree = info.Element(tns + "name").Value

                    });
                i++;
                }
        }