public static void Main()
xsd1.CodelistItemCType CadastralArea = new xsd1.CodelistItemCType();
CadastralArea.Codelist = new xsd1.CodelistCType();
CadastralArea.Codelist.CodelistCode = "kod ciselnika";
CadastralArea.Codelist.CodelistItem = new xsd1.CodelistCTypeCodelistItem();
CadastralArea.Codelist.CodelistItem.ItemCode = "kod polozky";
CadastralArea.Codelist.CodelistItem.ItemName = new xsd1.CodelistCTypeCodelistItemItemName();
CadastralArea.Codelist.CodelistItem.ItemName.Language = "SK";
CadastralArea.Codelist.CodelistItem.ItemName.Value = "hodnota polozky";
string value = GenericParser.GetCodelistValue(CadastralArea);
Console.WriteLine(value);
xsd2.CodelistItemCType CadastralArea2 = new xsd2.CodelistItemCType();
CadastralArea2.Codelist = new xsd2.CodelistCType();
CadastralArea2.Codelist.CodelistCode = "kod ciselnika2";
CadastralArea2.Codelist.CodelistItem = new xsd2.CodelistCTypeCodelistItem();
CadastralArea2.Codelist.CodelistItem.ItemCode = "kod polozky2";
CadastralArea2.Codelist.CodelistItem.ItemName = new xsd2.CodelistCTypeCodelistItemItemName();
CadastralArea2.Codelist.CodelistItem.ItemName.Language = "SK2";
CadastralArea2.Codelist.CodelistItem.ItemName.Value = "hodnota polozky2";
string value2 = GenericParser.GetCodelistValue(CadastralArea2);
Console.WriteLine(value2);
public class GenericParser
public static string GetCodelistValue(object codelistXml)
String returnValue = String.Empty;
string className = codelistXml.GetType().Name;
string ns = codelistXml.GetType().Namespace;
Type codelistType = codelistXml.GetType();
if (className == "CodelistItemCType")
var codelist = codelistType.GetProperty("Codelist");
var codelistValue = codelist.GetValue(codelistXml, null);
var codelistItem = codelistValue.GetType().GetProperty("CodelistItem");
if (codelistItem != null)
var codelistItemValue = codelistItem.GetValue(codelistValue, null);
var itemName = codelistItem.PropertyType.GetProperty("ItemName");
var itemNameValue = itemName.GetValue(codelistItemValue, null);
var value = itemName.PropertyType.GetProperty("Value");
returnValue = value.GetValue(itemNameValue, null) as string;
public partial class CodelistItemCType
private CodelistCType codelistField;
public CodelistCType Codelist
return this.codelistField;
this.codelistField = value;
public partial class CodelistCType
private string codelistCodeField;
private CodelistCTypeCodelistItem codelistItemField;
public string CodelistCode
return this.codelistCodeField;
this.codelistCodeField = value;
public CodelistCTypeCodelistItem CodelistItem
return this.codelistItemField;
this.codelistItemField = value;
public partial class CodelistCTypeCodelistItem
private string itemCodeField;
private CodelistCTypeCodelistItemItemName itemNameField;
return this.itemCodeField;
this.itemCodeField = value;
public CodelistCTypeCodelistItemItemName ItemName
return this.itemNameField;
this.itemNameField = value;
public partial class CodelistCTypeCodelistItemItemName
private string languageField;
private string valueField;
[System.Xml.Serialization.XmlAttributeAttribute()]
return this.languageField;
this.languageField = value;
[System.Xml.Serialization.XmlTextAttribute()]
public partial class CodelistItemCType
private CodelistCType codelistField;
public CodelistCType Codelist
return this.codelistField;
this.codelistField = value;
public partial class CodelistCType
private string codelistCodeField;
private CodelistCTypeCodelistItem codelistItemField;
public string CodelistCode
return this.codelistCodeField;
this.codelistCodeField = value;
public CodelistCTypeCodelistItem CodelistItem
return this.codelistItemField;
this.codelistItemField = value;
public partial class CodelistCTypeCodelistItem
private string itemCodeField;
private CodelistCTypeCodelistItemItemName itemNameField;
return this.itemCodeField;
this.itemCodeField = value;
public CodelistCTypeCodelistItemItemName ItemName
return this.itemNameField;
this.itemNameField = value;
public partial class CodelistCTypeCodelistItemItemName
private string languageField;
private string valueField;
[System.Xml.Serialization.XmlAttributeAttribute()]
return this.languageField;
this.languageField = value;
[System.Xml.Serialization.XmlTextAttribute()]