public static void Main()
XmlDocument doc = new XmlDocument();
doc.LoadXml("<?xml version='1.0' ?><data id=\"ADR_V1.0_Beta\" version=\"0.1.25\" xmlns:h=\"http://www.w3.org/1999/xhtml\" xmlns:jr=\"http://openrosa.org/javarosa\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:ev=\"http://www.w3.org/2001/xml-events\" xmlns:orx=\"http://openrosa.org/xforms\" xmlns:odk=\"http://www.opendatakit.org/xforms\"><fucm_point><point>10.5161938 -75.1316246 44.76277250425254 4.9</point><escribir_predio>0</escribir_predio><id_levantamiento_catastral_escaneado>086060002000000000232N01000000</id_levantamiento_catastral_escaneado><id_levantamiento_catastral>086060002000000000232N01000000</id_levantamiento_catastral></fucm_point><se_puede_realizar_encuesta>1</se_puede_realizar_encuesta><grupo_encuesta><formulario_fotos><fotos_predio><id_levantamiento_catastral_1>086060002000000000232N01000000</id_levantamiento_catastral_1><foto_predio>1622562077158.jpg</foto_predio></fotos_predio></formulario_fotos><formulario><pre_nombre_departamento>08</pre_nombre_departamento><corr_nombre_departamento>08</corr_nombre_departamento><man_nombre_departamento>08</man_nombre_departamento><nombre_departamento>08</nombre_departamento><pre_municipio>606</pre_municipio><corr_municipio_atlantico /><man_municipio_atlantico>606</man_municipio_atlantico><municipio_atlantico>606</municipio_atlantico><municipio_bolivar>606</municipio_bolivar><municipio> /data/grupo_encuesta/formulario/municipio_atlantico </municipio><manzana_vereda>LUCUMI LAGUNA</manzana_vereda><distrito_adecuacion_tierras>63</distrito_adecuacion_tierras><tiene_asociacion_usuarios>0</tiene_asociacion_usuarios></formulario><analisus_juridico_precampo><pre_observaciones_juridico /><man_observaciones_juridico>NINGUNA</man_observaciones_juridico><observaciones_juridico>NINGUNA</observaciones_juridico></analisus_juridico_precampo><direccion_predio><extdir_tipo_direccion>2</extdir_tipo_direccion><extdir_nombre_predio_no_estructurado>LUCUMI</extdir_nombre_predio_no_estructurado><extdir_nombre_predio>LUCUMI</extdir_nombre_predio></direccion_predio><contacto_visita><id_levantamiento_catastral_5>086060002000000000232N01000000</id_levantamiento_catastral_5><nota_contacto /><lc_contav_tipo_documento_quien_atendio>Cedula_Ciudadania</lc_contav_tipo_documento_quien_atendio><lc_contav_numero_documento_quien_atendio_no_pasaporte>1046266927</lc_contav_numero_documento_quien_atendio_no_pasaporte><lc_contav_numero_documento_quien_atendio> /data/grupo_encuesta/contacto_visita/lc_contav_numero_documento_quien_atendio_no_pasaporte </lc_contav_numero_documento_quien_atendio><lc_contav_fotografia_documento_quien_anverso>1622562707766.jpg</lc_contav_fotografia_documento_quien_anverso><lc_contav_fotografia_documento_quien_reverso>1622562712375.jpg</lc_contav_fotografia_documento_quien_reverso><lc_contav_primer_nombre_quien_atendio>SAMIR</lc_contav_primer_nombre_quien_atendio><lc_contav_segundo_nombre_quien_atendio /><lc_contav_primer_apellido_quien_atendio>BARCASNEGRA</lc_contav_primer_apellido_quien_atendio><lc_contav_segundo_apellido_quien_atendio /><lc_contav_relacion_con_predio>3</lc_contav_relacion_con_predio><lc_contav_domicilio_notificaciones>CALLE 6 #8-16 BARRIO SANTA RITA</lc_contav_domicilio_notificaciones><lc_contav_celular>3108346434</lc_contav_celular><lc_contav_sexo>1</lc_contav_sexo><lc_contav_firma_contacto_visita>1622562862477.jpg</lc_contav_firma_contacto_visita></contacto_visita><coincide_contacto_predio>0</coincide_contacto_predio><direccion_contacto><lc_contav_autoriza_notificaciones>0</lc_contav_autoriza_notificaciones><lc_contav_domicilio_notificaciones>CALLE 6 #8-16 BARRIO SANTA RITA</lc_contav_domicilio_notificaciones></direccion_contacto><coincide_interesado_contacto>0</coincide_interesado_contacto><disponible_interesado>1</disponible_interesado><lc_interesado><interesados><id_levantamiento_catastral_2>086060002000000000232N01000000</id_levantamiento_catastral_2><nota_interesado /><pre_lc_inte_tipo /><man_lc_inte_tipo>0</man_lc_inte_tipo><lc_inte_tipo>0</lc_inte_tipo><pre_lc_inte_tipo_documento /><man_lc_inte_tipo_documento>Cedula_Ciudadania</man_lc_inte_tipo_documento><lc_inte_tipo_documento_natural>Cedula_Ciudadania</lc_inte_tipo_documento_natural><lc_inte_tipo_documento> ../lc_inte_tipo_documento_natural </lc_inte_tipo_documento><pre_lc_inte_documento_identidad /><lc_inte_documento_identidad_pasaporte /><man_lc_inte_documento_identidad_natural>856666</man_lc_inte_documento_identidad_natural><lc_inte_documento_identidad_natural>856666</lc_inte_documento_identidad_natural><lc_inte_documento_identidad_juridico /><lc_inte_documento_identidad_no_pasaporte> ../lc_inte_documento_identidad_natural </lc_inte_documento_identidad_no_pasaporte><lc_inte_documento_identidad> ../lc_inte_documento_identidad_no_pasaporte </lc_inte_documento_identidad><lc_inte_documento_interesado_anverso /><lc_inte_documento_interesado_reverso /><pre_lc_inte_primer_nombre /><man_lc_inte_primer_nombre>JUAN</man_lc_inte_primer_nombre><lc_inte_primer_nombre>JUAN</lc_inte_primer_nombre><pre_lc_inte_segundo_nombre /><man_lc_inte_segundo_nombre /><lc_inte_segundo_nombre /><pre_lc_inte_primer_apellido /><man_lc_inte_primer_apellido>BARCASNEGRAS</man_lc_inte_primer_apellido><lc_inte_primer_apellido>BARCASNEGRAS</lc_inte_primer_apellido><pre_lc_inte_segundo_apellido /><man_lc_inte_segundo_apellido>RUIZ</man_lc_inte_segundo_apellido><lc_inte_segundo_apellido>RUIZ</lc_inte_segundo_apellido><pre_lc_inte_razon_social /><lc_inte_razon_social /><lc_inte_sexo>1</lc_inte_sexo><lc_inte_grupo_etnico>6</lc_inte_grupo_etnico><lc_inte_usuario_tipo>0</lc_inte_usuario_tipo><lc_inte_situacion_usuario_tipo>0</lc_inte_situacion_usuario_tipo><lc_inte_firma_interesado /><lc_der_tipo>Dominio</lc_der_tipo></interesados><direccion_interesado_contacto>0</direccion_interesado_contacto><direccion_interesado_tipo>3</direccion_interesado_tipo><Direccion><lc_inte_contacto><id_levantamiento_catastral_4>086060002000000000232N01000000</id_levantamiento_catastral_4><lc_intecont_telefono1 /><lc_intecont_domicilio_notificacion /><lc_intecont_direccion_residencia /><lc_intecont_autoriza_notificacion_correo>0</lc_intecont_autoriza_notificacion_correo><lc_intecont_departamento /><lc_intecont_municipio /><lc_intecont_vereda /><lc_intecont_corregimiento /></lc_inte_contacto></Direccion></lc_interesado><coincide_contacto_riego>0</coincide_contacto_riego><coincide_interesado_riego>1</coincide_interesado_riego><usuario_riego><lc_usuario_riego><id_levantamiento_catastral_6>086060002000000000232N01000000</id_levantamiento_catastral_6><nota_usuario_riego /><pre_lc_usuri_tipo /><man_lc_usuri_tipo>0</man_lc_usuri_tipo><lc_usuri_tipo>0</lc_usuri_tipo><pre_lc_usuri_tipo_documento /><man_lc_usuri_tipo_documento>Cedula_Ciudadania</man_lc_usuri_tipo_documento><lc_usuri_tipo_documento_natural>Cedula_Ciudadania</lc_usuri_tipo_documento_natural><lc_usuri_tipo_documento> ../lc_usuri_tipo_documento_natural </lc_usuri_tipo_documento><pre_lc_usuri_documento_identidad /><lc_usuri_documento_identidad_pasaporte /><man_lc_usuri_documento_identidad_natural>1046266927</man_lc_usuri_documento_identidad_natural><lc_usuri_documento_identidad_natural>1046266927</lc_usuri_documento_identidad_natural><lc_usuri_documento_identidad_juridico /><lc_usuri_documento_identidad_no_pasaporte> ../lc_usuri_documento_identidad_natural </lc_usuri_documento_identidad_no_pasaporte><lc_usuri_documento_identidad> ../lc_usuri_documento_identidad_no_pasaporte </lc_usuri_documento_identidad><lc_usuri_documento_interesado_anverso /><lc_usuri_documento_interesado_reverso /><pre_lc_usuri_primer_nombre /><man_lc_usuri_primer_nombre>SAMIR</man_lc_usuri_primer_nombre><lc_usuri_primer_nombre>SAMIR</lc_usuri_primer_nombre><pre_lc_usuri_segundo_nombre /><man_lc_usuri_segundo_nombre /><lc_usuri_segundo_nombre /><pre_lc_usuri_primer_apellido /><man_lc_usuri_primer_apellido>BARCASNEGRAS</man_lc_usuri_primer_apellido><lc_usuri_primer_apellido>BARCASNEGRAS</lc_usuri_primer_apellido><pre_lc_usuri_segundo_apellido /><man_lc_usuri_segundo_apellido /><lc_usuri_segundo_apellido /><pre_lc_usuri_razon_social /><lc_usuri_razon_social /><lc_usuri_sexo>1</lc_usuri_sexo><lc_usuri_firma_interesado /></lc_usuario_riego></usuario_riego><coincide_direccion_interesado_riego>1</coincide_direccion_interesado_riego><PREDIO><PREDIO_DATOS><pre_lc_pred_nombre /><man_lc_pred_nombre>LUCUMI</man_lc_pred_nombre><lc_pred_nombre>LUCUMI</lc_pred_nombre><pre_lc_pred_codigo_antiguo_rgu /><man_lc_pred_codigo_antiguo_rgu>000000</man_lc_pred_codigo_antiguo_rgu><lc_pred_codigo_antiguo_rgu>000000</lc_pred_codigo_antiguo_rgu><pre_lc_pred_tiene_nuevo_rgu>0</pre_lc_pred_tiene_nuevo_rgu><corr_lc_pred_tiene_nuevo_rgu>0</corr_lc_pred_tiene_nuevo_rgu><man_lc_pred_tiene_nuevo_rgu /><lc_pred_tiene_nuevo_rgu>0</lc_pred_tiene_nuevo_rgu><pre_lc_pred_numpred_nacional_anterior /><man_lc_pred_numpred_nacional_anterior /><lc_pred_numpred_nacional_anterior /><pre_lc_pred_tipo /><man_lc_pred_tipo>Privado</man_lc_pred_tipo><lc_pred_tipo>Privado</lc_pred_tipo><lc_pred_sector_riego_drenaje>CANALSUPERIOR_CASETA3</lc_pred_sector_riego_drenaje></PREDIO_DATOS><foto_sector_riego_drenaje><id_levantamiento_catastral_30>086060002000000000232N01000000</id_levantamiento_catastral_30><lc_pred_foto_sector_riego_drenaje>1622731942261.jpg</lc_pred_foto_sector_riego_drenaje></foto_sector_riego_drenaje><fotografias_area_cartografica_predio_planos><id_levantamiento_catastral_31>086060002000000000232N01000000</id_levantamiento_catastral_31><fotografia_area_cartografica_predio_planos>1622578781086.jpg</fotografia_area_cartografica_predio_planos></fotografias_area_cartografica_predio_planos><fotografias_area_beneficiada_riego_drenaje_proteccion_inundaciones><id_levantamiento_catastral_32>086060002000000000232N01000000</id_levantamiento_catastral_32><fotografia_area_beneficiada_riego_drenaje_proteccion_inundaciones /></fotografias_area_beneficiada_riego_drenaje_proteccion_inundaciones><fotografias_area_explotada_sembrada_agropecuaria><id_levantamiento_catastral_33>086060002000000000232N01000000</id_levantamiento_catastral_33><fotografia_area_explotada_sembrada_agropecuaria>1622578879862.jpg</fotografia_area_explotada_sembrada_agropecuaria></fotografias_area_explotada_sembrada_agropecuaria><fotografias_area_construida_reconocimiento_directo_indirecto><id_levantamiento_catastral_34>086060002000000000232N01000000</id_levantamiento_catastral_34><fotografia_area_construida_reconocimiento_directo_indirecto>1622578900418.jpg</fotografia_area_construida_reconocimiento_directo_indirecto></fotografias_area_construida_reconocimiento_directo_indirecto><PREDIO_CODIGOS><pre_lc_pred_tiene_fmi>0</pre_lc_pred_tiene_fmi><corr_lc_pred_tiene_fmi>0</corr_lc_pred_tiene_fmi><man_lc_pred_tiene_fmi /><lc_pred_tiene_fmi>0</lc_pred_tiene_fmi><pre_lc_pred_codigo_orip /><lc_pred_codigo_orip /><pre_lc_pred_matricula_inmobiliaria /><lc_pred_matricula_inmobiliaria /><pre_lc_pred_condicion /><man_lc_pred_condicion>NPH</man_lc_pred_condicion><lc_pred_condicion>NPH</lc_pred_condicion><lc_pred_proteccion_colectiva>0</lc_pred_proteccion_colectiva><lc_pred_tiene_area_registral>0</lc_pred_tiene_area_registral></PREDIO_CODIGOS><restricciones_predio><lc_restr_tiene_restriccion>0</lc_restr_tiene_restriccion><pre_lc_restr_restriccion /><lc_restr_restriccion /><extadr_tiene_restriccion>0</extadr_tiene_restriccion><pre_extadr_lc_restriccion /><extadr_lc_restr_restriccion /></restricciones_predio><lc_pred_servicio_riego>0</lc_pred_servicio_riego><lc_pred_servicio_drenaje>0</lc_pred_servicio_drenaje><lc_pred_servprot_inundaciones>0</lc_pred_servprot_inundaciones><lc_pred_factura_ADR>0</lc_pred_factura_ADR><pre_lc_pred_otro_destino_IGAC /><man_lc_pred_otro_destino_IGAC>3</man_lc_pred_otro_destino_IGAC><lc_pred_otro_destino_IGAC>3</lc_pred_otro_destino_IGAC><pre_lc_pred_otro_destino_IGAC_OTRO /><lc_pred_otro_destino_IGAC_OTRO /><fotos_explotacion><id_levantamiento_catastral_12>086060002000000000232N01000000</id_levantamiento_catastral_12><lc_pred_foto_destino_IGAC /></fotos_explotacion><documentos_predios><id_levantamiento_catastral_13>086060002000000000232N01000000</id_levantamiento_catastral_13><documento_tipo>2</documento_tipo><fotografia_documento>1622579003525.jpg</fotografia_documento></documentos_predios><documentos_predios><id_levantamiento_catastral_13>086060002000000000232N01000000</id_levantamiento_catastral_13><documento_tipo>2</documento_tipo><fotografia_documento>1622579044963.jpg</fotografia_documento></documentos_predios><documentos_predios><id_levantamiento_catastral_13>086060002000000000232N01000000</id_levantamiento_catastral_13><documento_tipo>2</documento_tipo><fotografia_documento>1622579218643.jpg</fotografia_documento></documentos_predios></PREDIO></grupo_encuesta><grupo_sec><lc_dalc_fecha_visita_predial>2021-06-01T11:06:37.124-05:00</lc_dalc_fecha_visita_predial><lc_dalc_resultado_visita_realizada>1</lc_dalc_resultado_visita_realizada><lc_dalc_resultado_visita>1</lc_dalc_resultado_visita></grupo_sec><observaciones><observaciones_ini><lc_dalc_observaciones>NO TIENEN DISTRITO DE RIEGO, NO HAY CONSTRUCCIONES, TIENEN DOCUMENTOS DE COMPRAVENTA NO CERTIFICADO, NO TIENEN ÁREA EXPLOTADA, UTILIZAN EL PREDIO SOLO PARA EL GANADO EN TEMPORADA DE LLUVIA </lc_dalc_observaciones><lc_dalc_observaciones_limite>189</lc_dalc_observaciones_limite><lc_dalc_comentario /></observaciones_ini><fotos_observaciones><id_levantamiento_catastral_14>086060002000000000232N01000000</id_levantamiento_catastral_14><fotografia_observacion /></fotos_observaciones></observaciones><meta><instanceID>uuid:9cd9fd41-b8ef-4e4e-9e7b-da00e67b4f11</instanceID><instanceName>ADR086060002000000000232N01000000</instanceName></meta></data>");
ImprimirNodosSinHijos(doc.DocumentElement.ChildNodes);
private static void ImprimirNodosSinHijos(XmlNodeList nodos)
foreach(XmlNode node in nodos){
if (node.ChildNodes.Count == 0 || node.ChildNodes.Count == 1)
string valor = node.InnerText;
if (node.ChildNodes.Count == 1)
valor = node.ChildNodes.Item(0).InnerText;
Console.WriteLine(node.Name + " = " + valor);
Console.WriteLine("// " + FindXPath(node));
ImprimirNodosSinHijos(node.ChildNodes);
public static string FindXPath(XmlNode node)
StringBuilder builder = new StringBuilder();
case XmlNodeType.Attribute:
builder.Insert(0, "/@" + node.Name);
node = ((XmlAttribute) node).OwnerElement;
case XmlNodeType.Element:
int index = FindElementIndex((XmlElement) node);
builder.Insert(0, "/" + node.Name + "[" + index + "]");
case XmlNodeType.Document:
return builder.ToString();
throw new ArgumentException("Only elements and attributes are supported");
throw new ArgumentException("Node was not in a document");
public static int FindElementIndex(XmlElement element)
XmlNode parentNode = element.ParentNode;
if (parentNode is XmlDocument)
XmlElement parent = (XmlElement) parentNode;
foreach (XmlNode candidate in parent.ChildNodes)
if (candidate is XmlElement && candidate.Name == element.Name)
if (candidate == element)
throw new ArgumentException("Couldn't find element within parent");