2016-07-26 4 views
3

XmlWriter를 사용하여 문자열로 쓰여지고있는 값을 읽고 있습니다. 그런 다음 XmlReader에 의해 읽혀지고 부울로 변환됩니다. 마지막으로 동일한 XmlWriter 메서드가 호출되어 별도의 XML 파일에 기록됩니다. 내가 요소를 두 번째를 작성하려고 할 때 그러나 나는 말한다 실패한 단위 테스트 점점 오전 :'false'문자열이 유효한 부울 값이 아닙니다.

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"를 변환해야하는 다른 것이 있습니까? 현재 내가 여기서하고있는 것입니까? 그렇다면 무엇이 될 수 있습니까?

+0

"the string false"? 당신은 를 빌드 한 것처럼 들립니다. 문자 그대로 'f','a','l' 등의 문자가있는 문자열입니다 ... –

답변

5

XmlConvert.ToBoolean 경우에만 false을 사용할 수 있습니다. 당신은 아마 Convert.ToBoolean

XmlConvert.ToBoolean Method (String)

유효한 문자열 "1"로되어 혼란 또는 false에 대한 사실에 대한 "진실"과 "0"또는 "false"입니다.

+0

아, 잘 잡으세요. 고맙습니다! Stack Overflow를 사용하면 답변으로 표시됩니다. – Tim