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);