我正在寻找一种方法来阅读以下XML
<Data>
<MaxCount>10</MaxCount>
<Points>
<Point X="10" Y="10"/>
<Point X="20" Y="10"/>
<Point X="30" Y="10"/>
<Point X="40" Y="10"/>
<Point X="50" Y="10"/>
<Point X="60" Y="10"/>
</Points>
</Data>
Run Code Online (Sandbox Code Playgroud)
基本上我想将所有点值读入Point对象数组(我的点对象有2个属性X和Y),MaxCount读成整数.使用C#从XML文件中提取Point值的最佳方法是什么?
谢谢
我建议你看一下XmlSerializer类.它允许您直接将XML序列化和反序列化为对象.
首先,代表您的数据的类:
[XmlRoot(Namespace = "")]
public class Data
{
public int MaxCount;
public Point[] Points;
}
public class Point
{
[XmlAttribute]
public int X;
[XmlAttribute]
public int Y;
}
Run Code Online (Sandbox Code Playgroud)
然后你使用XmlSerializer:
Stream s = ... // Some code to open you file into a stream
var serializer = new XmlSerializer(typeof(Data));
Data d = (Data)serializer.Deserialize(s);
Run Code Online (Sandbox Code Playgroud)
文章:http://msdn.microsoft.com/en-us/library/ms950721.aspx
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |