【发布时间】:2016-07-26 19:45:19
【问题描述】:
我正在读取一个使用 XmlWriter 作为字符串写入的值。然后它被 XmlReader 读取并转换为布尔值。最后,调用相同的 XmlWriter 方法以写入单独的 Xml 文件。但是当我第二次尝试编写元素时,我得到一个失败的单元测试,上面写着:
Result Message:
Test method threw exception:
System.FormatException: The string 'False' is not a valid Boolean value.
我正在用
编写元素 writer.WriteStartElement("variableNameIsRelative");
writer.WriteCData(p.VariableNameIsRelative.ToString());
writer.WriteEndElement();
然后阅读
param.VariableNameIsRelative = XmlConvert.ToBoolean(reader.ReadElementContentAsString());
并再次使用与之前相同的写入器,只是输出到不同的文件(这是它中断的地方。)
writer.WriteStartElement("variableNameIsRelative");
writer.WriteCData(p.VariableNameIsRelative.ToString());
writer.WriteEndElement();
所以我的问题是..与我目前在这里所做的相比,在 XmlSerialization 中将“false”转换为有效的布尔值有什么不同吗?如果是这样,那可能是什么?
【问题讨论】:
-
“字符串为假”?听起来你建造了
<variableNameIsRelative><![CDATA[false]]></variableNameIsRelative>。这实际上是一个带有字母f、a、l等的字符串......
标签: c# xml xml-serialization