C#XML元素闭合格式问题
C#XML使用自动格式化时
XmlWriterSettings..Indent = true; // 自动格式化,缩进对齐
会显示为以下格式
<NodeName1>123</NodeName1>
<NodeName2></NodeName2>
现场需要展示为XML简单格式,直接闭合
<NodeName1>123</NodeName1>
<NodeName2/>
查找资料在XML格式属性设置中未能找到解决方法,网上也没有找到解决方法,于是放弃从XML属性中找解决方法,
改为用正则表达式直接替换
/// <summary> /// 实现闭合XML标签 /// </summary> /// <param name="textStr"></param> /// <returns></returns> static string XMLRegex(string textStr) { string pattern = "></[A-Za-z0-9]*>"; string replacement = "/>"; return Regex.Replace(textStr, pattern, replacement); }
测试可以实现需求
实现思路就是正则替换“></NodeName>”为“/>”