我有以下xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<font id="plejd">
<glyph unicode="Ā" glyph-name="area_add" d="string" />
<glyph unicode="ā" glyph-name="area_bathroom" d="string2" />
<glyph unicode="Ă" glyph-name="area_cabin" d="string3" />
<glyph unicode="ă" glyph-name="area_cinema" d="string4" />
</font>
我想遍历每个项目并添加unicode,glyph-name&amp; d到数据表。
我有以下代码,但我不知道如何获取信息。
XDocument xdoc = XDocument.Load("PivotIcons.xml");
foreach (XElement element in xdoc.Descendants())
{
}
我怎样才能做到这一点?
答案 0 :(得分:0)
类似的东西:
XElement root = XElement.Load("PivotIcons.xml");
foreach (XElement element in root.Descendants("glyph"))
{
string unicode = element.Attribute("unicode").Value;
string glyphname = element.Attribute("glyph-name").Value;
string d = element.Attribute("d").Value;
// save to database...?
}
会做这个工作。您需要将unicode格式化为您计划如何将其存储在数据库中!
答案 1 :(得分:0)
试试这个..
public static void XMLToDataTable()
{
XDocument doc = XDocument.Load(@"D:\\Sample.xml");
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("unicode");
dt.Columns.Add("glyph_name");
dt.Columns.Add("d");
string[] arr = new string[3];
var dr = from n in doc.Descendants("glyph")
select new string[]{
arr[0] = n.Attribute("unicode").Value,
arr[1] = n.Attribute("glyph-name").Value,
arr[2] = n.Attribute("d").Value
};
foreach (var item in dr)
{
dt.Rows.Add(item[0],item[1],item[2]);
}
}