[ Foro de C# ]
Saludos,
Quisiera saber si es posible cojer un documento de word(.doc) convertirlo a xml y poder guardar algunos datos de este en una base de datos de sqlserver.
ejemplo
El formato de una hoja de vida
y quiero guardar en la tabla llamada hoja de vida con los campos nombre, Estudios, experiencia, etc
(Todo esto con solo convertir el doc a xml)
Agradeceria si me dieran respuesta!
El formato .DOC es complejo, no podrás manipularlo directamente con facilidad (quizá sí con algunos servicios de .Net un poco más avanzados).
La alternativa más razonable es guardar a fichero de texto (.TXT), que te será más fácil analizar y manipular, tanto si ese fichero de texto ya contiene los datos en XML como si son datos estructurados en otro formato más arbitrario (por ejemplo, cada campo en una línea, y una línea adicional en blanco entre un registro y otro).
Si los datos están en formatos "menos estructurados" como ese, podrías generar a partir de ellos un XML que puedas importar en SQL Server, o incluso generar una secuencia de órdenes SQL.
Amigo ya conseguí convertir el .DOC a .TXT pero al momento de convertir el TXT a XML no logro que tenga una estructura que pudiera manejar con facilidad, (Solo quiero identificar los campos nombre, Experiencia y estudios) y guardar cada uno en un registro diferente.
Todas las hojas de Vida tienen el mismo formato (PDF de ejemplo)
Nota
Si hay otra manera de hacerlo que no sea por XML Bienvenida!
Gracias por su colaboración!
He eliminado el enlace a tu PDF, porque tiene datos personales. En su lugar, "copia y pega" aquí el contenido del fichero de texto, censurando los datos personales y poniendo en su lugar algo como XXXXX.
El contenido del documento en .TXT seria algo como esto y solo deseo coger los campos del nombre, que experiencia tiene y sus estudios.
" Actualizado el 25 de abril de 2014 xxxx xxxx XX de agosto de XX (xx años) Soltero/a xxx, xxx, Buenos Aires, Argentina (xx) xxxxxxx / (xx) xxxxxx xxxxxx@hotmail.com Me gustaría demostras mis cualidades de responsabilidad, dedicación y respecto en el nucleo de trabajo. Si tengo q eligir me gustaría destacarme en la parte administrativa, tengo buen trato, paciencia y soy tolerante con las personas. El trabajar con los niños,es interezante tambien. Experiencia Melodias (Comercio) Encargada de libreria y maxikiosco may 2004 - Actualmente xxxxxxx Me encargaba de tareas generales, ventas de productos, distribucción, reposición y atencion al cliente. 2 Personas a cargo. Estudios xxxxxxxx Psicopedagogo mar xxx - Actualmente Argentina Psicopedagogía Terciario 31% Promedio7.0 Instituto superior xxxx y sociales Consultor psicológico mar 2009 - Actualmente Argentina Psicología Terciario 86% Promedio8.0 Preferencias Salariales Salario neto: $2700 por mes. Conocimientos Inglés: Escrito Intermedio Inglés: Oral Intermedio Portugués: Escrito Intermedio Portugués: Oral Intermedio Office: Manejo Básico Datos personales ? D.N.I.: xxxxx ? Dirección: xxxxxx, xxxxxx, Buenos Aires, Argentina ? Teléfono celular: (xxx) xxxxxxx ? Teléfono: (xxx) xxxxxx ? Estado civil: Soltero/a ? E-mail: xxxxx@hotmail.com Referencias Ex jxxx xxx xxxxx o xxxxxx "
Ah, vale, esa "hoja de vida" es lo que yo conozco como "Curriculum Vitae".
Una vez que lo tienes en formato TXT, podrías leer línea a línea (con un StreamReader), buscando palabras clave (con IndexOf) y extrayendo fragmentos (con Substring).
El problema es que normalmente son documentos poco estructurados:
- Hay quien escribe antes la experiencia que los estudios y quien lo hace al revés.
- Hay quien incluye sus datos personales en primer lugar (lo habitual en España) y quien los pone al final (como en tu ejemplo).
- Se pueden usar distintos nombres para cada apartado: "experiencia", "experiencia laboral", "experiencia profesional", "trabajos previos", etc.
Tanta variabilidad hace que no sea fácil programar un importador que siempre funcione.
Amigo Tratare de hacer lo que tu dices de leer línea a línea (con un StreamReader), buscando palabras clave (con IndexOf) y extrayendo fragmentos (con Substring).
Igual Todas Los Curriculum Vitae manejan una misma estructura:
Nombre
Experiencia
Estudios
conocimientos y datos personales.
Muchas Gracias!
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)