为多个 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*/);
我想在名为 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*/);