c# 写入xml 怪异的事情
碰到一個奇怪的問題,為什么我寫這個節點,怎么都關閉不了元素:
XmlWriterSettings settings = new XmlWriterSettings();settings.Indent = false;settings.NewLineOnAttributes = false;XmlWriter writer = XmlWriter.Create("booknew.xml", settings);writer.WriteStartElement("DBaseLink");writer.WriteAttributeString("Confidentiality", "Outsourcer");writer.WriteAttributeString("Type", "Bug");writer.WriteAttributeString("Database", "AXSE");writer.WriteAttributeString("Value", "1123456"); writer.WriteEndElement(); // close DBaseLink//clean upwriter.Flush();writer.Close();?
太詭異了,每次都是這個結果
<?xml version="1.0" encoding="utf-8" ?>
<DBaseLink Confidentiality="Outsourcer" Type="Bug" Database="AXSE" Value="1123456" />
?
就是沒有關閉元素的/DBaseLink.
?
PS: 后來有博友回答了這個問題,當一個element 只有attribute 沒有value的時候,就是那樣結尾的。
?
加入一個XML規則的解釋
規則6:所有的空標識也必須被關閉
空標識就是標識對之間沒有內容的標識。比如<br>,<img>等標識。在XML中,規定所有的標識必須有結束標識,針對這樣的空標識,XML中處理的方法是在原標識最后加/,就可以了。例如:
<br>應寫為<br />;
<META name="keywords" content="XML, SGML, HTML">應寫為<META name="keywords" content="XML, SGML, HTML" />;
<IMG src= "cool.gif">應寫為<IMG src= "cool.gif" />
?
轉載于:https://www.cnblogs.com/herbert/archive/2010/06/30/1768458.html
總結
以上是生活随笔為你收集整理的c# 写入xml 怪异的事情的全部內容,希望文章能夠幫你解決所遇到的問題。