下面是一個簡單的作業調度的一個實例,它解析XML動態字符串成JSON:的Xml序列化動態字符串爲布爾
XML
<Navigations>
<Navigation Name="facebook" Active ="0" ></Navigation>
</Navigations>
C#
List<NavigationData> nds = new List<NavigationData>();
foreach (object cnav in (IEnumerable)c.Navigations)
{
NavigationData nd = new NavigationData();
nd.Name = (string)((dynamic)cnav).Name;
nd.Active = XmlConvert.ToBoolean((string)((dynamic)cnav).Active); // 3
nds.Add(nd);
}
transitContent.NavigationData = JsonConvert.SerializeObject(nds);
上述程序在第3行引發異常:
無法轉換字符串
XMLConvert.ToBoolean
無法識別字符串
Convert.ToBoolean
的其他類型的轉換在這種情況下possibele爲布爾值?預期的結果應該是:
JSON
[
{
"Name": "facebook",
"Active": false
}
]
什麼是解析XML?基本上你應該將值轉換爲一個'int',然後檢查它是否非零,但可能有比你使用的方法好得多的方法... –
要檢查null,我有這個:'Active =(n.Attribute(「Active」)!= null)? n.Attribute(「Active」)。Value:string.Empty' – Sajal
那麼你想要將一個缺失的屬性視爲活動或非活動?您可能需要將我的答案中的檢查更改爲「cnav.Active ==」1「' –