Linq读取xml文件,格式的不同使用对象不同


一、假设xml文件格式如下:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<info>
<num>12</num>
<name>njm</name>
<sex>0</sex>
<mz>0</mz>
<date>1922-11-12</date>
<addr>
<province>河北省</province>
<city>保定市</city>
<county>某县</county>
</addr>
<like>0,1,2,3,4</like>
<test Id="111" Type="text" DateSource="addr.xml" ValueNum="num123" />
</info>
二、那么想将这个xml文件读取进来可以这样
<1法>
/*通过这个对象XElement得到根元素,
如果是单体内容则通过DescendantsAndSelf("根元素"),
如果是多体则可以是Descendants("infos")
*/
XElement xe = XElement.Load(xmlPath);
IEnumerable<XElement> ie = from x in xe.DescendantsAndSelf("info") select x;
<2法>
/*通过这个XDocument对象得到根元素,
则可以使用Elements("info")这样,上面的对象不可以这样使用
*/
XDocument xd = XDocument.Load(xmlPath);
IEnumerable<XElement> ie = from x in xd.Elements("info") select x;

注释:
单体就是在xml文件中存放的是一个实体内容.多体就是多个实体内容信息,那么外面则是一个标记<infos>;
以上的所有的操作是为了下面的循环体可以拿到想要的正确的值,否则加载了xml文件也不能正常处理;
foreach (XElement xl in ie)
{
WebInput1.Text = xl.Element("num").Value; //注意这里是Element,而不是Elements
WebInput2.Text = xl.Element("test").Attribute("Type").Value;

……
……
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值