如果xml中存在任何特定节点,如何知道使用反序列化对象

时间:2014-06-04 09:59:16

标签: c# xml silverlight deserialization xml-deserialization

我处于silverlight(c#)的情况中   情况是:我已将xml反序列化为c#类对象。现在我想知道使用我的c#代码(使用反序列化时创建的对象)   如果我的xml中存在“disableothers”。如果确实如此,我必须调用任何函数。

为了达到这个目的,我成功地保存了xml,而我的“parameter”类(root)的对象是“parameter”。

//I mean something like this
//Remember that "parameter" is the object obtained on succesful deserializing root class of xml.
if (parameter.Parameter.Component.Attributes.DisableOthers == exists in xml) 
{
    CallToAnyFunctionToDoSomeThing();
}

注意:如果在命名“disableothers”时出错,我很抱歉(因为我称之为问题主题中的“节点”)。

2 个答案:

答案 0 :(得分:1)

我希望这有效:

if (parameter.Parameter.Component.Attributes.DisableOthers != null && parameter.Parameter.Component.Attributes.DisableOthers.Length > 0) 
{
    CallToAnyFunctionToDoSomeThing();
}

如果DispableOthers是动态列表,则它应该是Count而不是Length。

答案 1 :(得分:1)

我不确定,但如果你可以这样检查:

var disableOthers = parameter.Parameter.Component.Attributes.DisableOthers;
if (disableOther ! = null && disableOthers.Any()) 
{
    CallToAnyFunctionToDoSomeThing();
}