为多个 children 验证具有相同标签名称的 XML

Validation of a XML with same Tag name for multiple children

我想在名为 Default value.Ex

的标签下获取多个值
<DefaultValue>One </DefaultValue>
<DefaultValue>two</DefaultValue>
<DefaultValue>three</DefaultValue>

我想在一次验证中验证所有三个值。这意味着我的字符串可能包含任何一个值一,二,三,..它应该验证它是否包含任何一个

 <?xml version="1.0" encoding="utf-8" ?>
 <ValidationList>
     <Validation>
         <FieldType>Auto Number</FieldType>
         <DataColumn>5</DataColumn>
         <ErrorMessage>Value cannot be null</ErrorMessage>
     </Validation>
     <Validation>
         <FieldType>Date Time</FieldType>
         <DataColumn>15</DataColumn>
         <ErrorMessage>Value cannot be null</ErrorMessage>
         <DefaultValues>kj</DefaultValues>
     </Validation>
</ValidationList>

我当前的代码是:

GetFieldTypeRow = ds.Tables["Validation"].Select("FieldType='"  + xFieldTypeCell.Value2 + "'");

if (GetFieldTypeRow.Length == 1 )
{
     iFieldValueCol = Convert.ToInt32(GetFieldTypeRow[0 ["Default Values"].ToString());

     if(xFieldValueCell.Value2== "A")
     {
         DataRow ResRow = ResultDt.NewRow();
         ResRow["WorkSheetName"] = MySheet.Name.ToString();
         ResRow["DataFieldType"] = xFieldTypeCell.Value2;
         ResRow["AtRow"] = xFieldValueCell.Row.ToString();
         ResRow["ErrorMessage"] = "Finished";
         ResultDt.Rows.Add(ResRow);
      }

我已将 XML 数据存储在数据集中,并且每次都使用单行的标签名称访问数据集。我的 table 包含四列。

数据字段、数据列、错误消息、默认值。

我想一次检查默认值标签下的三个值,我该怎么做?

仍然对这个问题不完全满意,但让我试一试。

首先让我指出默认值通常是单一值。 该值通常在您添加新行时自动设置,或者在您未向该字段分配值时设置为该值。所以你宁愿需要一个名为 ValidValues.

的列

现在,如果您要检查此列中的每个值:

string[] validValues = /*whereever you get the field from*/.Split('|');
bool valid = validValues.Contains(/*whatever value you want to check*/);