首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#读取xml有关问题。很简单

2012-09-22 
c#读取xml问题。。很简单xml:Seriesport nameSeriesportSettingportnumberCOM5/portnumberbaudrat

c#读取xml问题。。很简单

xml:
<Seriesport name="SeriesportSetting">
  <portnumber>COM5</portnumber>
  <baudrate>57600</baudrate>
  <databits>8</databits>
  <paritybit>无</paritybit>
  <stopbit>2</stopbit>
  </Seriesport>
请问我怎么用c#取出COM5、57600这样的值呢?

[解决办法]
很多方法。

最简单的是使用XmlSerializer进行反序列化。

但是比较灵活、底层一些的做法是可以使用Linq to XML、XMLDocument直接对字符串进行解析。
[解决办法]

C# code
using System;using System.Collections.Generic;using System.Linq;using System.Xml;using System.Text;namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            string xml = @"<Seriesport name=""SeriesportSetting"">  <portnumber>COM5</portnumber>  <baudrate>57600</baudrate>  <databits>8</databits>  <paritybit>无</paritybit>  <stopbit>2</stopbit>  </Seriesport>";            XmlDocument xdoc = new XmlDocument();            xdoc.LoadXml(xml);            string portnumber = xdoc.ChildNodes[0].ChildNodes[0].InnerText;            string baudrate = xdoc.ChildNodes[0].ChildNodes[1].InnerText;            Console.WriteLine(portnumber);            Console.WriteLine(baudrate);        }    }}
[解决办法]
C# code
        XmlDocument xmlDoc = new XmlDocument();        xmlDoc.Load(@"c:\test.xml");        Console.WriteLine(xmlDoc.DocumentElement["portnumber"].InnerText);        Console.WriteLine(xmlDoc.DocumentElement["baudrate"].InnerText); 

热点排行