private string GetPropertyName(XmlNode node)
{
switch (node.NodeType)
{
case XmlNodeType.Attribute:
return "@" + node.Name;
case XmlNodeType.CDATA:
return CDataName;
case XmlNodeType.Comment:
return CommentName;
case XmlNodeType.Element:
return node.Name;
case XmlNodeType.ProcessingInstruction:
return "?" + node.Name;
case XmlNodeType.XmlDeclaration:
return DeclarationName;
case XmlNodeType.SignificantWhitespace:
return SignificantWhitespaceName;
case XmlNodeType.Text:
return TextName;
case XmlNodeType.Whitespace:
return WhitespaceName;
default:
throw new JsonSerializationException("Unexpected XmlNodeType when getting node name: " + node.NodeType);
}
}