XML Dom: stockage des paires clé / valeur
Je suis nouveau à traiter avec XML et j'ai pour stocker des paires clé/valeur. Est-il un moyen privilégié de faire cela? Voici quelques possibilités que je pouvais venir:
Voie 1
<item key="k1" value="val1" />
<item key="k2" value="val2" />
<item key="k3" value="val3" />
2
<item><key>k1</key><value>val1</value></item>
<item><key>k2</key><value>val2</value></item>
<item><key>k3</key><value>val3</value></item>
3
<key name="k1">val1</key>
<key name="k2">val2</key>
<key name="k3">val3</key>
Grâce.
mise à jour:
En attendant, j'ai trouvé ceci:
http://www.ibm.com/developerworks/xml/library/x-eleatt.html
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
La méthode par défaut d'enregistrement des fichiers XML est 2, comme beaucoup de fichiers XML utilisation de ce balisage.
Mais Personnellement, je préfère la Voie 1 pour le balisage sur les autres.
Il produit de façon fichiers plus petits en termes de lisibilité et de linecount, donne une bonne vue d'ensemble des éléments contenus dans un autre, plus grand élément et que vous n'avez pas à peine de créer une fin de balise de l'élément pour chaque élément utilisé dans le fichier (à l'exception du conteneur).
Mais à l'ent de la journée, il s'agit de ce que VOUS préférez et sont à l'aise avec.
Une autre solution de rechange, ce qui me frappe comme étant plus dans l'esprit de XML (en supposant que vos clés sont valides des qnames, et de vos valeurs ne comprennent pas tout ce qui pourrait entraîner le non-XML bien formé):
La 3 est utilisé par les " les propriétés java fichiers. Voici sa DTD:
À la fin, je pense que c'est une question de préférence et pas des meilleures pratiques (à moins que quelqu'un peut me donner un exemple pourquoi l'un est supérieur à l'autre). Je préfère utiliser 3 et voie 1.
Vous pouvez utiliser un Dictionnaire pour ce but.
Voici un exemple: http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
Tant que les touches sont va être valide noms XML, et les valeurs sont d'une simple représentation de texte, je vais le faire comme ceci:
puisque les attributs sont, par définition, un mappage de noms de valeurs dans lequel la commande de la cartographie est considérable, tout comme une carte/dictionnaire/table de hachage.
Il y a une tonne de cas où vous ne pouvez pas le faire de cette façon - si
123
est une clé valide, par exemple, ou si les valeurs (ou clés) sont des objets sérialisés. En fait, c'est OK si les valeurs sont des objets sérialisés, aussi longtemps que vous n'avez pas l'esprit que ils vont apparaître dans les valeurs d'attribut avec tout le balisage échappé.XML est flexible. Vous pouvez choisir ce que vous voulez. Je choisirais 3. Je pense que 3 est la plus souple.