首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分XElement中的空值和XElement值

区分XElement中的空值和XElement值
EN

Stack Overflow用户
提问于 2012-11-14 16:30:52
回答 2查看 5.2K关注 0票数 8

我有两个XElement实例:

代码语言:javascript
复制
var el1 = new System.Xml.Linq.XElement("xel", null);
var el2 = new System.Xml.Linq.XElement("xel", string.Empty);

el1看起来是这样的:

代码语言:javascript
复制
<xel />

el2看起来是这样的:

代码语言:javascript
复制
<xel></xel>

然而,Value属性都等于string.Empty

我可以想出很多方法来区分nullstring.EmptyXElement中,但是在框架中有什么东西是我遗漏的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-14 16:37:20

el1.IsEmpty将返回true,另一方面,el2.IsEmpty将返回false。

票数 6
EN

Stack Overflow用户

发布于 2012-11-14 16:40:05

来自XML模式标准

2.6.2 xsi:零 XML :Structure引入了一种机制,当元素没有内容时,它应该被接受为·有效值·,尽管内容类型不需要,甚至不一定允许空内容。如果一个元素的属性xsi:nil的值为true,则该元素可能是·有效值·不带内容。这样标记的元素必须为空,但如果相应的复杂类型允许,则可以携带属性。

因此,对于您来说,您必须将xsi命名空间添加到XmlDocument中。那么元素看起来就像

代码语言:javascript
复制
<xel xsi:nil="true" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13382963

复制
相关文章

相似问题

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