2013-06-27 3 views
2

J'ai lu sur la lecture et l'écriture de xml en utilisant SAX, STAX, et dom. Mon problème est que même après avoir lu les avantages et les inconvénients, je ne suis toujours pas sûr de ce qui serait le mieux pour moi - bien que DOM semble être le plus simple, je vais exécuter ce programme sur un serveur très faible avec peu de mémoire. Je tiens à rendre le programme plus efficace si possible. Une forte demande sur le serveur pousserait également le besoin d'efficacité.Quel parseur XML répond à ces exigences?

Voici ce que j'ai besoin:

  1. simple lecture d'un document XML en tirant des données différentes de celui-ci. À ce stade, j'avais décidé que l'analyseur syntaxique SAX serait tout ce dont j'ai besoin car apparemment c'est le plus rapide?

  2. Cependant, je dois aussi pouvoir générer des documents XML. À ce stade, je pensais bien - STAX est ce que je devrais utiliser car il semble avoir des fonctionnalités similaires à SAX mais permet la génération de code XML. Le plus compliqué est que je dois être capable de lire un document xml existant et de modifier des parties spécifiques de celui-ci, c'est-à-dire les caractères entre les balises de début et de fin. DOM semble être le meilleur pour faire cela, mais tout le monde dit que DOM utilise beaucoup de ressources et est assez lent. Est-ce possible avec Stax?

Je voudrais utiliser dom mais je suis préoccupé par l'utilisation de la mémoire et le processeur, etc.

Puis-je demander combien plus de ressources qu'il utiliserait par rapport à Stax dans un exemple du monde réel? Les fichiers XML ne sont pas susceptibles d'être volumineux et je n'aurais besoin que de quelques lectures et écritures. C'est-à-dire que le programme est un jeu et au début j'ai besoin de charger des informations sur un joueur et à la fin, localise les informations xml sur le joueur et apporte les modifications basées sur la performance des joueurs aussi vite que possible.

Merci beaucoup pour toutes les réponses/conseils

+0

Si le fichier XML n'est pas très grand ne vous souciez pas de l'efficacité. – Patashu

+0

@ Patashu désolé - pas le meilleur q: mais ce qui définit le grand fichier xml? Je ne suis pas expérimenté avec les fichiers XML, donc je ne suis pas sûr de la taille qu'ils peuvent obtenir. Merci –

+0

Grand est relatif, par ex. grand est assez grand pour que vous ne puissiez pas l'analyser sans un ralentissement notable. Mettez-le en œuvre de la façon la plus simple pour vous, ALORS, SI et seulement si cela devient trop lent, ALORS vous vous penchez sur la façon de l'accélérer (de manière scientifique, profilage, etc.) – Patashu

Répondre

1

En utilisant Sax Comme vous souhaitez modifier XML cela ne va pas vous aider

En utilisant DOM Puisque vous souciez de mémoire (efficacité), ce n'est pas aller au travail

Utilisation de Stax C'est ce qui aide vos préoccupations. Vous l'avez également souligné. Comment modifier XML en utilisant Stax est discuté here

Questions connexes