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

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

前几天写程序的时候,遇到一个问题,我需要返回一个字符串给同事,其内容是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的内容是一样的,只是多了换行和缩进。

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用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、付费专栏及课程。

余额充值