欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#设置xml内容不换行及属性xsi:nil=true的空节点添加

程序员文章站 2024-03-04 19:39:18
1.设置生成xml的内容格式为不换行 默认用下面代码创建并生成xml的代码如下: 复制代码 代码如下: xmldocument doc = new xmldocument(...
1.设置生成xml的内容格式为不换行
默认用下面代码创建并生成xml的代码如下:
复制代码 代码如下:

xmldocument doc = new xmldocument();
//这里为创建节点等代码,省略....
//保存
doc.save(filename);
结果生成的节点有换行:
<username>
</username>

这样的话会导致xsd中如果有验证会通不过,要想不换行,doc.save(filename);可以改为:
复制代码 代码如下:

using (xmltextwriter xtw = new xmltextwriter(filename, null))
{
//none表示不应用特殊格式,另一个相反枚举值indented表示缩进
xtw.formatting = formatting.none;
doc.save(xtw);
}

2.添加属性为xsi:nil="true"的空节点
复制代码 代码如下:

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;
}