大概内容就是将txt文档写成xml,感觉所有同学都会,只有我不会555,sos!
2条回答 默认 最新
- CSDN专家-showbo 2021-07-20 11:01关注
有帮助麻烦点个采纳【本回答右上角】,谢谢~~ 注意修改文件路径和编码
using System; using System.Text; using System.IO; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //注意修改这里的text路径,如果文件存储编码不是utf-8,也要修改编码 var items = File.ReadAllText(@"E:\data\data.txt", Encoding.UTF8).Split('\n'); StringBuilder sb = new StringBuilder("<zones>"); Dictionary<string, string> server = new Dictionary<string, string> { }; string key; int index = 1; foreach (var item in items) { if (item.Trim() == "" || item.StartsWith("$")) continue;//空项或者$开头继续 var arr = item.Split('\t');//拆分 key = arr[1] + '/' + arr[2];//server if (!server.ContainsKey(key))//新server加入 { server.Add(key, index.ToString()); index++; } var p = double.Parse(arr[3]) / double.Parse(arr[4]); string capacity = ""; if (p >= 0 && p < 10) capacity = "1"; else if (p >= 10 && p < 30) capacity = "2"; else if (p >= 30 && p < 40) capacity = "3"; else if (p >= 40 && p < 50) capacity = "4"; else if (p >= 50 && p < 70) capacity = "5"; else if (p >= 70 && p < 80) capacity = "6"; else capacity = "7"; sb.Append("<zone name=\"" + arr[0] + "\" serverIndex=\"" + server[key] + "\" capacity=\"" + capacity + "\"/>"); } sb.Append("</zones>"); string sserver = "<servers>"; foreach (var k in server.Keys) sserver += "<server>" + k + "</server>"; sserver += "</servers>"; Console.WriteLine("<root>"+ sserver + sb.ToString()+"</root>");//这个就是你要的xml格式字符串 //要写入文件,注意修改路径 File.WriteAllText(@"E:\data\data.xml", "<root>" + sserver + sb.ToString() + "</root>", Encoding.UTF8); Console.ReadKey(); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥30 关于<main>标签页面跳转的问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加
- ¥15 用ns3仿真出5G核心网网元
- ¥15 matlab答疑 关于海上风电的爬坡事件检测
- ¥88 python部署量化回测异常问题