[英]Convert XML <!CDATA to DataTable C#
我有 Webservice SOAP 方法,它將 Json 作為輸入參數。
//For sample
string jsonString = "[{"Year":"2020","UserId":"1","Comp":"20","DeptId":"32","CategoryId":"53","ItemId":"0"}]";
string[] processString = budget.BudgetTagNet(jsonString);
現在“budget.BudgetTagNet(jsonString)”返回前面提到的字符串數組,並且 SOAP 響應顯示以下值: SOAP 響應結果
現在我想將返回的預算數組轉換為 DataTable 以進一步用於我的項目,但我做不到。 實現這一目標的最佳方法是什么。 我嘗試過的方法如下所述。
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();
最后插入數據庫中的數據,如上述方法是:插入的數據庫值
您可以使用正則表達式來解析數據:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
string input = "{\"Budkey\":2,\"BudTitle\":\"Budget Heads\", \"Budget_Amount\":0.0,\"Engaged\":0.0,\"Balance\":0.0";
string pattern = @"""(?'key'[^""]+)"":(?'value'\w+)";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches.Cast<Match>().Select(x => x))
{
Console.WriteLine("Key = '{0}', Value = '{1}'", match.Groups["key"].Value, match.Groups["value"].Value);
}
Console.ReadLine();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.