Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改foreach语句c中的xml属性#_C#_Xml - Fatal编程技术网

C# 更改foreach语句c中的xml属性#

C# 更改foreach语句c中的xml属性#,c#,xml,C#,Xml,我需要在数据库中保存XML属性值,如果选中复选框,则使用信息。如果选中复选框,则属性值为“TRUE”,否则为false。当我使用foreach语句时,最后一个枚举值通常被赋值 以下是我的代码部分: XmlAttribute xmlAttribute = xmlDoc.CreateAttribute("BooleanValue"); foreach (string value in list) //list is a List<object> { XmlNode xmlNode

我需要在数据库中保存XML属性值,如果选中复选框,则使用信息。如果选中复选框,则属性值为“TRUE”,否则为false。当我使用foreach语句时,最后一个枚举值通常被赋值

以下是我的代码部分:

XmlAttribute xmlAttribute = xmlDoc.CreateAttribute("BooleanValue");
foreach (string value in list) //list is a List<object>
{
    XmlNode xmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "VALUE", "");
    if (checkBox1.Checked || 
        checkBox2.Checked ||
        checkBox3.Checked)
    xmlAttribute.Value = "TRUE";

    if (!checkBox1.Checked || 
        !checkBox2.Checked ||
        !checkBox3.Checked)
     xmlAttribute.Value = "FALSE";

    xmlNode.Attributes.Append(xmlAttribute);
    xmlNode.InnerText = val;
    childNode.AppendChild(xmlNode);
}
xmldattribute xmldattribute=xmlDoc.CreateAttribute(“BooleanValue”);
foreach(列表中的字符串值)//列表是一个列表
{
XmlNode XmlNode=xmlDoc.CreateNode(XmlNodeType.Element,“VALUE”,为“”);
如果(复选框1.Checked | |
复选框2.选中||
复选框3.选中)
xmldattribute.Value=“TRUE”;
如果(!checkBox1.Checked | |
!checkBox2.Checked||
!checkBox3.已选中)
xmltattribute.Value=“FALSE”;
xmlNode.Attributes.Append(xmldattribute);
xmlNode.InnerText=val;
AppendChild(xmlNode);
}
当我运行我的应用程序时,我得到一个XML属性xmlAttribute“FALSE”值

我需要的是: 我需要具有以下XML:

<ROOT><NODE><VALUE ATTRIBUTE="TRUE">Value 1</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="TRUE">Value 2</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 3</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 4</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="TRUE">Value 5</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 6</VALUE></NODE>
</ROOT>
值1
价值2
价值3
价值4
价值5
价值6
我实际得到的是:

<ROOT><NODE><VALUE ATTRIBUTE="FALSE">Value 1</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 2</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 3</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 4</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 5</VALUE></NODE>
      <NODE><VALUE ATTRIBUTE="FALSE">Value 6</VALUE></NODE>
</ROOT>
值1
价值2
价值3
价值4
价值5
价值6
因为在C#中,假值停留在foreach循环的最后一个位置


问题是:如何分配属性的正确值。谢谢

我认为你的布尔逻辑是错误的。你现在有

If any are checked  
   mark True  
If any are unchecked  
   mark False  
我想说,您可能希望在第一个
if
之后使用
else
,而不是编写新条件

if (checkBox1.Checked || 
        checkBox2.Checked ||
        checkBox3.Checked)
    xmlAttribute.Value = "TRUE";

    if (!checkBox1.Checked || 
        !checkBox2.Checked ||
        !checkBox3.Checked)
     xmlAttribute.Value = "FALSE";
因此,如果选中其中任何一个框,则为TRUE,如果未选中其中任何一个框,则将其覆盖为FALSE。i、 你最终得到了

if (checkBox1.Checked && 
        checkBox2.Checked &&
        checkBox3.Checked)
    xmlAttribute.Value = "TRUE"
else
    xmlAttribute.Value = "FALSE"

我猜测这不是您想要的

修改后是否保存文件?否。XML保存到数据库字段我仍然认为这是一个布尔逻辑问题,如果您的任何复选框未选中,您将永远不会返回任何值,但返回false。如果您使用ELSE或elseif,则相同。我尝试使用“ELSE”而不是“if”语句。此外,我还尝试使用switch case语句。因此,问题仍然存在same@user1913479我认为你的问题陈述不清楚。你期待什么样的行为?你能给我们展示一个你想要的XML和你得到的XML的例子吗?