我需要將XML屬性值保存到數據庫中,如果勾選複選框,則使用信息。如果選中複選框,則屬性值爲「TRUE」,否則爲false。當我使用foreach語句時,通常會分配最後一個枚舉值。在foreach語句中更改xml屬性c#
這裏是我的代碼的一部分:
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);
}
當我運行我的應用程序,我得到一個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>
我居然得到:
<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>
因爲在C#FALSE值停留在最後的位置在foreach循環中
問題是:我該如何分配正確的屬性值。謝謝
你保存文件修改後? – zimdanen
編號XML保存到數據庫字段 – Kirill
我仍然認爲這是一個布爾邏輯問題,如果您的任何複選框未選中,您將永遠不會返回任何內容,而是返回false。如果您使用ELSE或ELSE IF,則相同。 – Amicable