从FOR XML路径分割字符串

本文关键字:分割 字符串 路径 XML FOR | 更新日期: 2023-09-27 17:50:56

我有这样的代码:

public class TrainingModuleProgressStateDataModelResults
{
    public IEnumerable<DataModels.Training.TrainingModuleProgressStateDataModel> TrainingModuleProgressStates { get; set; }
} 
public class TrainingModuleProgressStateDataModel
{
    public IEnumerable<UserTrainingPointsDataModel> UserTrainingPoints { get; set; }
}  

我需要把它分成:

public class UserTrainingPointsDataModel
{
    public virtual int InteractionType { get; set; }
    public virtual int Points { get; set; }
    public virtual string Name { get; set; }
}

在我的存储库中,我从RawPoints中的数据库返回:

China Incentive Program,50,6,1|India - Q2 Incentive ,50,6,4|China - Q2 Incentive,50,6,5|India Incentive Program,100,8,3|India - Q2 Incentive ,100,8,4

每个集合由pipe character划分,然后50 = the points,6是交互类型,1是训练模块id(我不需要再拉出来了),名称是好,名称:)

string RawPoints = row["RawPoints"].ToString();
foreach (var RawPoint in RawPoints)
{
    UserTrainingPointsDataModel.Name = RawPoints.Name;???
}

从FOR XML路径分割字符串

您可以使用String。分割如下:

string rawInput = "China Incentive Program,50,6,1|India - Q2 Incentive ,50,6,4|China -     Q2 Incentive,50,6,5|India Incentive Program,100,8,3|India - Q2 Incentive ,100,8,4";
string[] rawPoints = rawInput.Split(new char[]{'|'});
List<UserTrainingPointsDataModel> points = new List<UserTrainingPointsDataModel>();
foreach(string rawPoint in rawPoints)
{
    string[] enrty = rawPoints.Split(new char[]{','});
    var point = new UserTrainingPointDataModel();
    point.Name = entry[0];
    point.Points = entry[1];
    point.InteractionType = entry[2];
    points.Add(point);  
}