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 @   蒲公英C  阅读(393)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示