字符串 'false' 不是有效的布尔值
the string 'false' is not a valid boolean value
我正在读取使用 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();
所以我的问题是..在Xml序列化中将"false"转换为有效的布尔值与我目前在这里所做的有什么不同吗?如果是这样,那可能是什么?
XmlConvert.ToBoolean
只接受 false
小写字符串。您可能将它与 Convert.ToBoolean
混淆了
XmlConvert.ToBoolean Method (String)
Valid strings are "1" or "true" for true and "0" or "false" for false.
我正在读取使用 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();
所以我的问题是..在Xml序列化中将"false"转换为有效的布尔值与我目前在这里所做的有什么不同吗?如果是这样,那可能是什么?
XmlConvert.ToBoolean
只接受 false
小写字符串。您可能将它与 Convert.ToBoolean
XmlConvert.ToBoolean Method (String)
Valid strings are "1" or "true" for true and "0" or "false" for false.