简体   繁体   English

将XML文件转换为数据表C#

[英]Convert XML file to datatable C#

I've the following xml file: 我有以下xml文件:

<?xml version="1.0" encoding="utf-8" ?>
<font id="plejd">
<glyph unicode="&#x100;" glyph-name="area_add" d="string" />
<glyph unicode="&#x101;" glyph-name="area_bathroom" d="string2" />
<glyph unicode="&#x102;" glyph-name="area_cabin" d="string3" />
<glyph unicode="&#x103;" glyph-name="area_cinema" d="string4" />
</font>

I would like to iterate through every item and add the unicode, glyph-name & d to a datatable. 我想遍历每一项并将unicode,字形名称和d添加到数据表中。

I have the following code but I don't know how to get the info. 我有以下代码,但我不知道如何获取信息。

XDocument xdoc = XDocument.Load("PivotIcons.xml");
        foreach (XElement element in xdoc.Descendants())
        {

        }

How can I achieve this? 我该如何实现?

something like: 就像是:

        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...?
        }

would do the job. 会做的工作。 You'll need to format the unicode to how you plan on storing it in the database! 您需要格式化unicode格式,以使其计划将其存储在数据库中!

Try this.. 尝试这个..

 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]);
        }
    }

转换XML <!--CDATA to DataTable C#</div--><div id="text_translate"><p> 我有 Webservice SOAP 方法,它将 Json 作为输入参数。</p><pre> //For sample string jsonString = "[{"Year":"2020","UserId":"1","Comp":"20","DeptId":"32","CategoryId":"53","ItemId":"0"}]"; string[] processString = budget.BudgetTagNet(jsonString);</pre><p> 现在“budget.BudgetTagNet(jsonString)”返回前面提到的字符串数组,并且 SOAP 响应显示以下值: <a href="https://i.stack.imgur.com/ms2hp.png" rel="nofollow noreferrer">SOAP 响应结果</a></p><p>现在我想将返回的预算数组转换为 DataTable 以进一步用于我的项目,但我做不到。 实现这一目标的最佳方法是什么。 我尝试过的方法如下所述。</p><pre> string jsonString = CommonEnum.DataTableToJSON(Table); err.Message = "Json String is: " + jsonString; err.Insert(); string[] processString = budget.BudgetTagNet(jsonString); err.Message = "Budget service data is: " + processString[1]; err.Insert(); var XMLAsString = CommonEnum.SerializeXML(processString[1]); err.Message = "Converted XML To String data is: " + JsonConvert.SerializeObject(XMLAsString); err.Insert(); dt = (DataTable) JsonConvert.DeserializeObject(XMLAsString, (typeof(DataTable))); err.Message = "DataTable data: " + JsonConvert.SerializeObject(dt); err.Insert();</pre><p> 最后插入数据库中的数据,如上述方法是:<a href="https://i.stack.imgur.com/zSY2Q.png" rel="nofollow noreferrer">插入的数据库值</a></p></div> - Convert XML <!CDATA to DataTable C#

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在C#中将DataTable转换为XML文件? - How can I convert a DataTable to an XML file in C#? 如何在C#中将xml转换为DataTable - how to convert xml to DataTable in C# 在C#中将DataTable转换为XML层次结构 - Convert DataTable into XML hierarchy in C# 转换XML <!--CDATA to DataTable C#</div--><div id="text_translate"><p> 我有 Webservice SOAP 方法,它将 Json 作为输入参数。</p><pre> //For sample string jsonString = "[{"Year":"2020","UserId":"1","Comp":"20","DeptId":"32","CategoryId":"53","ItemId":"0"}]"; string[] processString = budget.BudgetTagNet(jsonString);</pre><p> 现在“budget.BudgetTagNet(jsonString)”返回前面提到的字符串数组,并且 SOAP 响应显示以下值: <a href="https://i.stack.imgur.com/ms2hp.png" rel="nofollow noreferrer">SOAP 响应结果</a></p><p>现在我想将返回的预算数组转换为 DataTable 以进一步用于我的项目,但我做不到。 实现这一目标的最佳方法是什么。 我尝试过的方法如下所述。</p><pre> string jsonString = CommonEnum.DataTableToJSON(Table); err.Message = "Json String is: " + jsonString; err.Insert(); string[] processString = budget.BudgetTagNet(jsonString); err.Message = "Budget service data is: " + processString[1]; err.Insert(); var XMLAsString = CommonEnum.SerializeXML(processString[1]); err.Message = "Converted XML To String data is: " + JsonConvert.SerializeObject(XMLAsString); err.Insert(); dt = (DataTable) JsonConvert.DeserializeObject(XMLAsString, (typeof(DataTable))); err.Message = "DataTable data: " + JsonConvert.SerializeObject(dt); err.Insert();</pre><p> 最后插入数据库中的数据,如上述方法是:<a href="https://i.stack.imgur.com/zSY2Q.png" rel="nofollow noreferrer">插入的数据库值</a></p></div> - Convert XML <!CDATA to DataTable C# C# 从 Datatable 创建 XML 文件 - C# create XML file from Datatable 我们可以直接在C#中将DataTable转换为XML吗? - Can we convert, DataTable to XML in C# Directly? 使用C#根据两个属性将XML转换为DataTable - Convert XML to DataTable according to two attributes using C# 在将DataTable转换为C#中的XML文件时自定义XML - Customize your XML when converting a DataTable to an XML file in C# C#:将 xml 文件转换为 csv 文件 - C#: convert xml file to csv file 将DataTable转换为XML文件,反之亦然 - Convert DataTable to XML file and viceversa
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM