C#将字符串转换成XML格式

本文介绍了一个简单的C#方法,用于将未格式化的XML字符串转换为具有适当缩进和换行的可读格式。通过使用System.Xml命名空间中的类,可以轻松地美化XML输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【整理, 内容来源于网络及本人实践】

前几天写程序的时候,遇到一个问题,我需要返回一个字符串给同事,其内容是XML的标记。但是同事在日志里翻看记录的时候,发现整个xml中没有一个换行回车,导致他看的时候太难受。于是要求我返回的时候先把字符串处理成一个具有xml格式的串,再返回给他。

其实很简单,自己实现下面一个函数就行

public  string FormatXML(string str)
        {
            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            doc.LoadXml(str);
            System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
            System.IO.StringWriter stringWriter = new System.IO.StringWriter(stringBuilder);
            System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter(stringWriter);
            xmlWriter.Formatting = System.Xml.Formatting.Indented;
            doc.WriteTo(xmlWriter);
            return stringBuilder.ToString();
        }

调用的时候如下

            string text = "<users><user><name>wang</name><age>12</age></user><user/><user><name>Li</name><age>14</age></user></users>";
            string xmlText = FormatXML(text);

xmlText和text的内容是一样的,只是多了换行和缩进。

 

可以使用XmlDocument类来将C#字符串换为XML格式字符串。以下是一个示例代码: ```csharp string str = "<root><person><name>John</name><age>30</age></person></root>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(str); string xmlString = doc.InnerXml; ``` 在这个示例中,我们首先定义了一个包含XML标记的字符串。然后,我们创建了一个XmlDocument对象,并使用LoadXml方法将字符串加载到该对象中。最后,我们使用InnerXml属性将XmlDocument对象换为XML格式字符串。 如果你需要在返回XML格式字符串之前格式字符串,可以使用XmlTextWriter类。以下是一个示例代码: ```csharp string str = "<root><person><name>John</name><age>30</age></person></root>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(str); StringBuilder sb = new StringBuilder(); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.NewLineChars = "\r\n"; using (XmlWriter writer = XmlWriter.Create(sb, settings)) { doc.WriteTo(writer); } string xmlString = sb.ToString(); ``` 在这个示例中,我们首先定义了一个包含XML标记的字符串。然后,我们创建了一个XmlDocument对象,并使用LoadXml方法将字符串加载到该对象中。接下来,我们创建了一个StringBuilder对象,并使用XmlWriterSettings类来设置缩进和换行符。最后,我们使用XmlWriter类将XmlDocument对象写入StringBuilder对象中,并使用ToString方法将StringBuilder对象换为XML格式字符串
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值