Что лучший способ состоит в том, чтобы проанализировать булев атрибут XML (в.NET)?

Между атрибутом и знаком равенства есть пробел.

Это

<input type="hidden" asp-for="DetailId" asp-line ="DetailId"/>

должно выглядеть так

<input type="hidden" asp-for="DetailId" asp-line="DetailId"/>
19
задан Joel Coehoorn 5 November 2008 в 15:13
поделиться

3 ответа

Я думаю, что XmlConvert имеет все методы для преобразования между типами общеязыковой среды выполнения и типами XML. Особенно XmlConvert.ToBoolean дескрипторы точно булевы значения (допустимые строки равняются "1" или "верный" для истинного и "0" или "ложь" для лжи).

36
ответ дан 30 November 2019 в 03:29
поделиться

Используя CBool вместо Boolean.Parse должен добиться цели: хотя необходимо будет встроить его в try/catch блок (который не требовался бы при использовании Boolean.TryParse), это успешно преобразует большинство 'разумных' булевых значений, включая истинный/ложный и 0/1.

Редактирование: как указано в комментарии, этот ответ довольно бесполезен для программистов C#, поскольку CBool VB-изм. Это отображается на Microsoft.VisualBasic.CompilerServices.Conversions::ToBoolean, который не подходит для общего потребления. Который делает класс XMLConvert указанным в принятом ответе еще лучшая альтернатива.

2
ответ дан 30 November 2019 в 03:29
поделиться

Санируйте данные прежде, чем попытаться проанализировать его:

 string InnerText = yourXmlNode.InnerText;    
if (InnerText.Equals("0"))
    InnerText = "false";
else if (InnerText.Equals("1"))
    InnerText = "true";

Любая другая запись, чем верный , ложь , 0 или 1 все еще выдаст исключение "Неверного формата" (как это должно быть).

0
ответ дан 30 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: