将xelement加载到数据表中

本文关键字:数据表 加载 xelement | 更新日期: 2023-09-27 18:10:08

我有以下xml文件,其中包含很多关于公司分支机构的信息。(这只是一个例子)……

我真正需要的是只从Branch1加载数据表中的数据(该数据表具有与我的xml文件相同的结构,因此数据表根本没有问题).

我使用c#,我想做这是linq,但我不知道linq…我的问题是:如何从XML中读取作为数据表行的条目,以便将其复制到我的数据表中?

现在有:

XElement main = XElement.Load("branches.xml");
IEnumerable<XElement> elList =
from el in main.Descendants("branch").Where(ex=>ex.Attribute("name").Value=="Branch1")
select el;
//this will return me the element where name =Branch1
//now, how would i only load this entry into my datatable ??
//this won`t work
branchesDataTable.ReadXml(XElement el in elList);

任何帮助都是非常感谢的。

<?xml version="1.0" encoding="utf-8"?>
<branches>
<branch name="Branch1">
    <address>Street 1, 1234, NY</address>
    <tel>0123456789</tel>
    <director>James</director>
</branch>   
<branch name="Branch2">
    <address>Street 2, 4567, NY</address>
    <tel>9876543210</tel>
    <director>Will</director>
</branch>
</branches>

将xelement加载到数据表中

try

branchesDataTable.ReadXml(new StringReader(new XElement("branches", elList).ToString()));