He escrito un programa de programación de tareas para fines de aprendizaje. Actualmente estoy guardando las tareas programadas solo como texto plano y luego analizando usando Regex. Esto se ve sucio (en cuanto al código) y no es muy coherente.Análisis XML: lea un archivo XML simple y recupere valores
Me gustaría cargar las tareas programadas desde un archivo XML en su lugar, he buscado bastante para encontrar algunas soluciones, pero no pude hacer que funcionara como yo quería.
escribí un archivo XML estructurado como este para almacenar mis datos en:
<Tasks>
<Task>
<Name>Shutdown</Name>
<Location>C:/WINDOWS/system32/shutdown.exe</Location>
<Arguments>-s -f -t 30</Arguments>
<RunWhen>
<Time>8:00:00 a.m.</Time>
<Date>18/03/2011</Date>
<Days>
<Monday>false</Monday>
<Tuesday>false</Tuesday>
<Wednesday>false</Wednesday>
<Thursday>false</Thursday>
<Friday>false</Friday>
<Saturday>false</Saturday>
<Sunday>false</Sunday>
<Everyday>true</Everyday>
<RunOnce>false</RunOnce>
</Days>
</RunWhen>
<Enabled>true</Enabled>
</Task>
</Tasks>
La forma en que me gustaría analizar los datos es de esta manera:
- Abre Tareas. xml
- Cargue la primera etiqueta de tarea.
- En esa tarea recupera los valores de las etiquetas Nombre, Ubicación y Argumentos.
- A continuación, abra la etiqueta RunWhen y recupere los valores de las etiquetas de hora y fecha.
- Después de eso abra la etiqueta Días y recupere el valor de cada etiqueta individual dentro.
- Recupere el valor de Habilitado.
- Cargue la siguiente tarea y repita los pasos 3 -> 7 hasta que se hayan analizado todas las etiquetas de tareas en Tareas.
estoy muy seguro de que puede hacerlo de esta manera yo no puedo elaborarlo, ya que hay muchas maneras diferentes de hacer las cosas en XML que me dieron un poco abrumado. Pero lo que he llegado hasta ahora es que lo más probable es que esté usando XPathDocument y XPathNodeIterator ¿verdad?
Si alguien me puede mostrar un ejemplo o explicarme cómo se haría esto, estaría muy feliz.
Lo tengo funcionando perfectamente, gracias montones :) – Lucidity
Eso es realmente simple, gracias –
Para aquellos que quieren copiar/pegar este código, estás ' También necesitará agregar "using System.Xml.Linq;" – VenerableAgents