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>”为“/>”

posted @ 2021-05-31 15:35  蒲公英C  阅读(374)  评论(1编辑  收藏  举报