3
回答
问个问题,下面的这个数据使用C#应该怎么解析,不明白这种结构的是什么,有点像XML。。
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

<ipaddr>199.193.249.11,198.98.98.97,198.98.98.99,2605:f700:40:400::e365:4ad0,2605:f700:40:400::26eb:61d3,2605:f700:40:400::8541:928c</ipaddr><hdd>85899345920,863178752,85036167168,1</hdd><bw>3221225472000,344065258031,2877160213969,11</bw><mem>1073741824,107245568,966496256,10</mem><status>success</status><statusmsg></statusmsg><hostname>myluoLuo</hostname><ipaddress>198.98.98.99</ipaddress><vmstat></vmstat> 

RT...有知道的帮下小弟吧~嘿嘿

<无标签>
举报
共有3个答案 最后回答: 5年前

把我的解决代码发出来...

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Www.MyLuoLuo.Com";
            string tmp = "<hdd>85899345920,859377664,85039968256,1</hdd><bw>3221225472000,344109443643,2877116028357,11</bw><mem>1073741824,89083904,984657920,8</mem><status>success</status><statusmsg></statusmsg><hostname>myluoLuo</hostname><vmstat>online</vmstat>";
            string xml = "<?xml version=\"1.0\"?><vps>";
            xml += tmp;
            xml += "</vps>";
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            Console.WriteLine("主机名称:");
            Console.WriteLine("\t" + doc.GetElementsByTagName("hostname")[0].InnerText);
            Console.WriteLine("内存信息:" + doc.GetElementsByTagName("mem")[0].InnerText);
            Console.WriteLine(SetString(doc.GetElementsByTagName("mem")[0].InnerText));
            Console.WriteLine("存储信息:" + doc.GetElementsByTagName("hdd")[0].InnerText);
            Console.WriteLine(SetString(doc.GetElementsByTagName("hdd")[0].InnerText));
            Console.WriteLine("流量信息:" + doc.GetElementsByTagName("bw")[0].InnerText);
            Console.WriteLine(SetString(doc.GetElementsByTagName("bw")[0].InnerText));
            Console.WriteLine("VPS状态:");
            Console.WriteLine("\t" + doc.GetElementsByTagName("vmstat")[0].InnerText);
            Console.ReadKey();
        }

        public static string SetString(string str)
        {
            ConvertDataSize.Convert convert = new ConvertDataSize.Convert();
            string tmp = String.Empty;
            string[] array = str.Split(',');
            for (int i = 0; i < 3; i++)
            {
                tmp += "\t" + convert.GetSize(long.Parse(array[i]));
            }
            tmp += "\t" + array[3] + "%";
            return tmp;
        }
    }
}

--- 共有 3 条评论 ---
洲宝@汪宪博 呵呵 5年前 回复
总会有无法选择的时候回复 @AlexCheung : 嗯.受教了...一直没有向XML想..还以为什么数据结构呢-_- 5年前 回复
洲宝本身看到有节点的部分 差不多就应该是XML的操作 读取节点就好了!一般都是做配置性文件来操作的! 5年前 回复
顶部