[英]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文件。
使用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.