相关疑难解决方法(0)

表示空XML元素的正确方法是什么?

我看过null以下几种方式表示的元素:

元素存在于xsi:nil="true":

 <book>
     <title>Beowulf</title>
     <author xsi:nil="true"/>
 </book>
Run Code Online (Sandbox Code Playgroud)

该元素存在,但表示为一个空元素(我认为这是错误的,因为'空'并且null在语义上是不同的):

 <book>
     <title>Beowulf</title>
     <author/>
 </book>

 <!-- or: -->
 <book>
     <title>Beowulf</title>
     <author></author>
 </book>
Run Code Online (Sandbox Code Playgroud)

返回的标记中根本不存在该元素:

 <book>
     <title>Beowulf</title>
 </book>
Run Code Online (Sandbox Code Playgroud)

该元素有一个<null/>子元素(来自下面的TStamper):

 <book>
     <title>Beowulf</title>
     <author><null/></author>
 </book>
Run Code Online (Sandbox Code Playgroud)

是否有正确或规范的方式来表示这样的null价值?还有其他方法吗?

以上示例的XML是人为设计的,所以不要过多地阅读它.:)

xml null xml-nil

160
推荐指数
4
解决办法
18万
查看次数

区分XElement中的null和string.Empty值

我有两个XElement实例:

var el1 = new System.Xml.Linq.XElement("xel", null);
var el2 = new System.Xml.Linq.XElement("xel", string.Empty);
Run Code Online (Sandbox Code Playgroud)

el1 看起来像这样:

<xel />
Run Code Online (Sandbox Code Playgroud)

el2 看起来像这样:

<xel></xel>
Run Code Online (Sandbox Code Playgroud)

然而,两者Value属性相等.string.Empty

我能想到很多黑客来区分的null,从string.EmptyXElement,但有一些内置的框架,要做到这一点,我很想念?

.net c# xelement linq-to-xml

6
推荐指数
1
解决办法
4525
查看次数

标签 统计

.net ×1

c# ×1

linq-to-xml ×1

null ×1

xelement ×1

xml ×1

xml-nil ×1