c#設(shè)置xml內(nèi)容不換行及屬性xsi:nil=true的空節(jié)點添加
更新時間:2013年03月01日 10:28:41 作者:
c#設(shè)置xml內(nèi)容不換行:添加屬性為xsi:nil=true的空節(jié)點便可實現(xiàn),感興趣的你可以參考下本文,或許有意想不到的收獲
1.設(shè)置生成xml的內(nèi)容格式為不換行
默認(rèn)用下面代碼創(chuàng)建并生成xml的代碼如下:
XmlDocument doc = new XmlDocument();
//這里為創(chuàng)建節(jié)點等代碼,省略....
//保存
doc.Save(filename);
結(jié)果生成的節(jié)點有換行:
<UserName>
</UserName>
這樣的話會導(dǎo)致xsd中如果有驗證會通不過,要想不換行,doc.Save(filename);可以改為:
using (XmlTextWriter xtw = new XmlTextWriter(filename, null))
{
//None表示不應(yīng)用特殊格式,另一個相反枚舉值Indented表示縮進
xtw.Formatting = Formatting.None;
doc.Save(xtw);
}
2.添加屬性為xsi:nil="true"的空節(jié)點
public static XmlElement CreateNodeWithNullAttr(XmlDocument doc, string nodeName)
{
XmlElement element = doc.CreateElement(nodeName);
XmlAttribute attr = doc.CreateAttribute("xsi", "nil", "http://www.w3.org/2001/XMLSchema-instance");
attr.Value = "true";
element.SetAttributeNode(attr);
//element.Attributes.Append(attr);
return element;
}
默認(rèn)用下面代碼創(chuàng)建并生成xml的代碼如下:
復(fù)制代碼 代碼如下:
XmlDocument doc = new XmlDocument();
//這里為創(chuàng)建節(jié)點等代碼,省略....
//保存
doc.Save(filename);
結(jié)果生成的節(jié)點有換行:
<UserName>
</UserName>
這樣的話會導(dǎo)致xsd中如果有驗證會通不過,要想不換行,doc.Save(filename);可以改為:
復(fù)制代碼 代碼如下:
using (XmlTextWriter xtw = new XmlTextWriter(filename, null))
{
//None表示不應(yīng)用特殊格式,另一個相反枚舉值Indented表示縮進
xtw.Formatting = Formatting.None;
doc.Save(xtw);
}
2.添加屬性為xsi:nil="true"的空節(jié)點
復(fù)制代碼 代碼如下:
public static XmlElement CreateNodeWithNullAttr(XmlDocument doc, string nodeName)
{
XmlElement element = doc.CreateElement(nodeName);
XmlAttribute attr = doc.CreateAttribute("xsi", "nil", "http://www.w3.org/2001/XMLSchema-instance");
attr.Value = "true";
element.SetAttributeNode(attr);
//element.Attributes.Append(attr);
return element;
}
您可能感興趣的文章:
- C#中TreeView實現(xiàn)適合兩級節(jié)點的選中節(jié)點方法
- C#讀取xml節(jié)點數(shù)據(jù)方法小結(jié)
- C#配置文件Section節(jié)點處理總結(jié)
- C#實現(xiàn)appSettings節(jié)點讀取與修改的方法
- C#通過XML節(jié)點屬性/屬性值讀取寫入XML操作代碼實例
- js獲取Treeview選中的節(jié)點(C#選中CheckBox項)
- C# XML操作 代碼大全(讀XML,寫XML,更新,刪除節(jié)點,與dataset結(jié)合等)
- C# 復(fù)制指定節(jié)點的所有子孫節(jié)點到新建的節(jié)點下
相關(guān)文章
asp.net調(diào)用飛信免費發(fā)短信(測試有效)
這篇文章主要介紹了asp.net如何調(diào)用飛信免費發(fā)短信,記得要開通飛信把對方加為好友才能發(fā),需要的朋友可以參考下2014-05-05asp.net計算一串?dāng)?shù)字中每個數(shù)字出現(xiàn)的次數(shù)
計算一串?dāng)?shù)字中每個數(shù)字出現(xiàn)的次數(shù),可以這樣子,先判斷輸入的字符串是不是數(shù)字組成,還是否包含有其它字符2012-05-05IdentityServer4實現(xiàn).Net Core API接口權(quán)限認(rèn)證(快速入門)
這篇文章主要介紹了IdentityServer4實現(xiàn).Net Core API接口權(quán)限認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03asp.net 頁面版文本框智能提示JSCode (升級版)
模擬百度,Google智能提示,非與服務(wù)器端交互的,數(shù)據(jù)源來自已經(jīng)綁定好的下拉列表。純客戶端腳本 升級版2009-12-12.NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實現(xiàn)反向代理
這篇文章介紹了.NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實現(xiàn)反向代理的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09