如果元素不为null,我想读取xml元素 [英] I want to read xml elements if elements not null

查看:78
本文介绍了如果元素不为null,我想读取xml元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  var  q = 来自 b  in  okuyucu.Descendants(  ARAC
< span class =code-sdkkeyword>选择 new
{
userName =( string )b。元素( userName),
login = ( string )b。元素( login),
password =( string )b。元素( 密码
}



我从两个不同的地方写一个xml文档窗户形式。我从另一个窗体中读取这个xml。

我的问题是

我的第一个表单不写登录。当我读取xml时,它会发生,因为没有任何名称为login的元素;

我想这样编写

如果登录存在则login =(字符串)b.Element(login)else login =

如何在select new {}

解决方案

<中执行此操作blockquote>使用 null-coalescing operator (? ?运营商):

  var  q = 来自 b   okuyucu.Descendants(  ARAC
选择 new
{
userName =( string )b。元素( userName),
login =( strin g )b。元素( login)?? string .Empty,
password =( string )b。元素( 密码
};


var q = from b in okuyucu.Descendants("ARAC")
                           select new
                           {
                               userName= (string)b.Element("userName"),
                               login= (string)b.Element("login"),
                               password= (string)b.Element("password")
                           }


I write a xml document from two different windows form. And I read this xml from another windows form.
My problem is that
My first form don't write "login". When I read xml it's occurs because there is'nt any element which is name "login";
I want to write like that
if login is exist then login= (string)b.Element("login") else login=""
How can I do it in "select new{}"

解决方案

Use null-coalescing operator (?? operator):

var q = from b in okuyucu.Descendants("ARAC")
        select new
        {
            userName = (string)b.Element("userName"),
            login = (string)b.Element("login") ?? string.Empty,
            password = (string)b.Element("password")
        };


这篇关于如果元素不为null,我想读取xml元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆