Pregunta

Estoy creando un lector de RSS como un proyecto de hobby, y en el punto donde el usuario está agregando su propia URL.

Estaba pensando en dos cosas.

  • Un archivo de texto simple donde cada url es una sola línea
  • SQLite donde puedo tener ID y descripciones únicas siguiendo la URL

¿Es la idea de SQLite una sobrecarga o hay una mejor manera de hacer cosas como esta?

¿Fue útil?

Solución

¿Qué tal como un archivo OPML ? Es XML, por lo que si necesita almacenar más datos y luego los suministros de especificación OPML, siempre puede agregar su propio espacio de nombres.

Además, la importación y exportación desde otros lectores RSS se realiza a través de OPML. A menudo hay soporte de biblioteca para ello. Si está interesado en que los usuarios cambien, entonces tiene que ser compatible con OPML. Gracias a James por mencionar ese punto.

Otros consejos

¿Por qué no XML?

Si estás tratando con RSS de todos modos, quizás también :)

¿Planeas solo almacenar URLs? ¿O planeas agregar datos como last_fetch_time o algo así?

Si es solo una simple lista de URL, su programa leerá línea por línea y descargará los datos, los almacenará en un archivo o incluso mejor en un objeto serializado escrito en un archivo.

Si planea extenderlo, agregue comentarios / tiempo de la última búsqueda, etc , optaría por SQLite, no es una sobrecarga.

Si se trata de una aplicación de usuario único que solo tiene una instancia, SQLite podría ser una exageración.

Tienes algunas opciones como lo veo:

  1. SQLite / capa de base de datos. Aumenta las dependencias que tu código necesita para ejecutar. Pero permite el acceso concurrente
  2. Despliega tu propio analizador de texto. La complejidad aumenta a medida que quiere guardar más datos y está reinventando la rueda. Menos dependencia e inicialmente, mientras que sus datos son simples, es trivial para que los edite un usuario novato de su aplicación.
  3. Usa XML. Está bien formado y amp; Definido y texto editable. Sin embargo, podría ser excesivo para almacenar solo una URL.
  4. Use algo como pickle para serializar su Objetos y guardarlos en el disco. Los cambios en su estructura de datos significan que " actualizar " Los archivos de salmuera. No es muy intuitivo de editar para un usuario novato, pero es extremadamente fácil de implementar.

Me gustaría ir con la opción de archivo de texto XML. Puede usar la herramienta XSD incorporada en Visual Studio para crear un DataTable a partir de los datos XML, y se vuelve a serializar fácilmente en el archivo cuando sea necesario.

La otra advertencia es que estoy seguro de que querrás que el usuario final pueda categorizar sus canales RSS y poder buscarlos / clasificarlos potencialmente, y tener ese tipo de estilo de datos ayudará con esto .

Obtendrá un fácil acceso y almacenamiento de archivos, el beneficio de una " base de datos " estructura, pero no del todo la sobrecarga de SQLite.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top