ajouter du contenu xml avec jdom
package xml.dierenshop.flaming.v1;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.XMLOutputter;
import org.jdom2.output.Format;
import java.io.FileWriter;
import java.io.IOException;
public class Writer {
public void Writer(String categorie, String code, String naamartikel, String beschrijvingartikel, double prijz, String imgurl, String imgurl2, String imgurl3, String imgurl4, String imgurl5) {
String prijs = String.valueOf(prijz);
Document document = new Document();
Element root = new Element("productlist");
String naamelement = "naam";
String categorieelement = "category";
String descriptionelement = "description";
Element child = new Element("product");
child.addContent(new Element(categorieelement).setText(categorie));
child.addContent(new Element("code").setText(code));
child.addContent(new Element(naamelement).setText(naamartikel));
child.addContent(new Element(descriptionelement).setText(beschrijvingartikel));
child.addContent(new Element("price").setText(prijs));
child.addContent(new Element("image").setText(imgurl));
child.addContent(new Element("image").setText(imgurl2));
child.addContent(new Element("image").setText(imgurl3));
child.addContent(new Element("image").setText(imgurl4));
child.addContent(new Element("image").setText(imgurl5));
root.addContent(child);
document.setContent(root);
try {
FileWriter writer = new FileWriter("products.xml");
XMLOutputter outputter = new XMLOutputter();
outputter.setFormat(Format.getPrettyFormat());
outputter.output(document, writer);
outputter.output(document, System.out);
} catch (IOException e) {
e.printStackTrace();
}
}
}
C'est ma classe pour l'écriture d'un fichier xml avec les variables de ma classe principale.
La sortie serait ici :
Maintenant j'ai un problème, la prochaine fois que je lance cette application java je veux ajouter un nouveau produit, mais garder l'ancien. Cependant, chaque fois que j'essaie cela, il remplace les anciennes données par les nouvelles données.
S'il vous plaît, vous poster le code ici.
Mes excuses les plus sincères, je ne comprends pas vraiment comment le faire sur stackoverflow.
Il y a un bouton à la question du formulaire nommé "Exemple de Code"
quand je fais cela, puis les coller mon code c'est vraiment salissant ?
C'est plus ennuyeux pour aller vers d'autres sites à l'apparence de votre code
Mes excuses les plus sincères, je ne comprends pas vraiment comment le faire sur stackoverflow.
Il y a un bouton à la question du formulaire nommé "Exemple de Code"
(Ctrl+K)
quand je fais cela, puis les coller mon code c'est vraiment salissant ?
C'est plus ennuyeux pour aller vers d'autres sites à l'apparence de votre code
OriginalL'auteur Boyen | 2013-03-04
Vous devez vous connecter pour publier un commentaire.
Fondamentalement, vous avez besoin de charger un fichier xml existant et faire une
Document
par l'analyse et l'obtention de l'élément racine. Si le fichier n'existe pas, créez un nouveau document et un nouvel élément racine. Après cela, vous pouvez aller sur avec le code que vous avez montré.Créer une classe
Product
pour contenir des données de produit. En passant de données du produit chaque argument à une méthode est un no-go.Classe de produits (pour des raisons de simplicité, tous les champs sont publiques, ce n'est pas une bonne pratique, vous devez vous rendre à moins protégées et pour chaque un getter et un setter méthode)
Écrivain méthode
et enfin un petit test
Aussi, nom de fichier
products.xml
ne doit pas être codé en dur dans le fichier java; au lieu de le passer comme un argument lorsque vous exécutez le programme.OriginalL'auteur A4L
Remplacer
root=document.getRootElement();
parparce qu'un Élément peut être associé qu'à un seul document jdom.
OriginalL'auteur gxet4n
Avant de racine que le contenu du document utilisation:
parce qu'un Élément peut être associé qu'à un seul document jdom.
OriginalL'auteur gxet4n