我是xml的新手,所以请不要介意它是否过于琐碎的问题
假设我有一个xml文件,如下所示
<Person>
<Name>John-Jaime-Winston Junior</Name>
</Person>
<Person>
<Name>Steve</Name>
</person
现在我将有一个人物对象,我可以知道如何阅读xml并覆盖对象数组。
最后,我想要一个包含所有人物对象的列表。
我无法开始如何做到这一点,因为我是xml的新手
class person {
string _name
public string Name
{
get { return _name}
set { _name= value; }
}
}
提前致谢
答案 0 :(得分:3)
鉴于.NET 3.5和System.Xml.Linq,这非常简单。
var q = from e in XElement.Parse(xml).Elements()
select new Person() {
Name = e.Element("Name").Value
};
var p = q.ToList();
您需要提供有效的XML,如下所示:
<People>
<Person>
<Name>Jim</Name>
</Person>
<Person>
<Name>Bill</Name>
</Person>
</People>
答案 1 :(得分:1)
我认为你想要像XmlSerializer这样的东西,你可以通过它来序列化和反序列化对象。只需要定义属性public
[Serializable()]
public class person
{
string _name
public string Name
{
get { return _name}
set { _name= value; }
}
}
并使用它:
XmlSerializer serializer = new XmlSerializer(typeof(Person));
StreamWriter sw = new StreamWriter("c:\\out.xml");
serializer.Serialize(sw,new Person{Name = "Test"});
sw.Close();
StreamReader sr = new StreamReader("c:\\out.xml");
var outVal = serializer.Deserialize(sr) as Person;
但是以正常方式解析xml,你可以使用XDocument或XPath,...