如果XElement具有属性,如何将XML读取到DataSet?

时间:2013-10-20 00:07:55

标签: c# xml

如果XElement有属性,我无法读取XML到DataSet。

XML就像:

<User>
    <Name>AAA</Name>
    <EmailId>aaa@mail.com</EmailId>
    <Salary Unit="$">5000</Salary>
</User>

和C#代码一样:

XmlTextReader xReader = new XmlTextReader(Server.MapPath(xmlPath)); 
DataSet ds = new DataSet(); 
ds.ReadXml(xReader, XmlReadMode.InferSchema);

数据集没有Salary列。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

var schema = new XElement("User",
    xel.Descendants().Select(d => new XElement(d.Name))
    );
DataSet ds = new DataSet();
ds.ReadXml(schema.CreateReader(), XmlReadMode.InferSchema);