簡體   English   中英

強制XML具有關閉標簽?

[英]Force XML to have Closing tags?

我有一個創建XDocument的代碼,其中,我使用System.Xml.Linq類添加了XElement。 唯一的問題是,如果xml節點沒有值,它將返回一個已經關閉的標記。

 <Title />

但是我實現了創建同時顯示開始標記和結束標記的XML的努力。

<Title></Title>

即使它沒有價值。 有什么辦法可以使它看起來像這樣嗎?

PS:我將這段代碼保存在數據庫中的表列下,該列接受數據類型xml,因此添加了一個字符串.Empty在數據庫上關閉,所以是FML。 有任何想法嗎?

嘗試為XmlNode的InnerText分配"" 顯然,此操作將使其擴展為<> </>形式。

嘗試使用string.Empty設置Tag的值。

您可以使用[XmlElement(IsNullable = true)]屬性用xsi:nil="true"表示空值,這是我能得到的結果。

我唯一能找到的替代方法是創建XML文件,然后使用StreamReader和StreamWriter通過StreamReader將完整的XML文檔加載到字符串中,使用Replace()方法查找並用打開和關閉標簽替換每個可能為空的標簽。然后使用StreamWriter用新的字符串覆蓋XML文件。

將對象序列化為XML時以不同方式表示Null值

使用XDocument.WriteTo方法將XDocument寫入XmlWriter。 實現一個自定義XmlWriter,它包裝通過XmlWriter.Create獲得的標准XmlWriter,並將您的自定義XmlWriter傳遞給WriteTo方法。

定制XmlWriter應該將所有未修改的調用直接傳遞給包裝的XmlWriter,但WriteEndElement方法除外,該方法應為:

    public override void WriteEndElement()
    {
        wrapped.WriteFullEndElement();
    }

暫無
暫無

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

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