簡體   English   中英

區分XElement中的null和string.Empty值

[英]Differentiate null and string.Empty values in an XElement

我有兩個XElement實例:

var el1 = new System.Xml.Linq.XElement("xel", null);
var el2 = new System.Xml.Linq.XElement("xel", string.Empty);

el1看起來像這樣:

<xel />

el2看起來像這樣:

<xel></xel>

然而, 兩者Value屬性等於string.Empty

我可以想到很多hacks來區分nullXElement string.Empty ,但是框架內置了一些我缺少的東西嗎?

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

XML Schema標准

2.6.2 xsi:nil

XML Schema:Structures引入了一種機制,用於表示一個元素應該被接受為有效·當它沒有內容時,盡管內容類型不需要或甚至不允許空內容。 如果元素具有值為true的屬性xsi:nil,則元素可以是有效的而沒有內容。 如此標記的元素必須為空,但如果相應的復雜類型允許,則可以攜帶屬性。

因此,對於您來說,您必須將xsi名稱空間添加到XmlDocument中。 然后元素看起來像

<xel xsi:nil="true" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM