Comment faire pour supprimer encoding=“UTF-8” standalone=“no” de l'objet Document xml en Java
Je veux créer XML en Java.
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder;
docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.newDocument();
mais Java crée automatiquement déclaration comme ceci
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Comment puis-je supprimer encoding="UTF-8" standalone="no"
de sorte qu'il sera
<?xml version="1.0"?>
Merci!
- Pourquoi s'en faire?
- double possible de stackoverflow.com/questions/2133395/...
- Je ne veux pas remplacer le codage parce que d'autres programme utilise ce code XML dans un sens, je ne sais pas. Donc je ne peux pas être sûr de ce que je peux définir l'encodage
- non, la question sur la suppression de TOUS déclaration XML
- Tous outil qui accepte XML doit accepter l'une avec un encodage valide la propriété (en particulier si l'encodage spécifié est UTF-8). Si votre outil ne fait pas l'accepter, alors il est cassé!
- Les valeurs que vous tentez de supprimer on suppose que si l'analyseur est en suivant les règles de la spécification XML) à la valeur par défaut si elles ne sont pas spécifiées, de sorte que leur suppression ne ferait aucune différence!
- UTF-8 est le codage par défaut d'un document XML si il n'y a pas d'Ordre d'Octet-Marque (BOM): opentag.com/xfaq_enc.htm#enc_default. Cela signifie que <?xml version="1.0" encoding="UTF-8"?> ou <?xml version="1.0"?> sont l'équivalent de la déclaration (sans BOM).
Vous devez vous connecter pour publier un commentaire.
Je pense qu'il n'y a aucun moyen juridique pour exclure ces attributs de génération.
Mais après il est généré, vous pouvez l'utiliser XSLT pour supprimer cette.
Je pense que c'est un bon moyen.
Pourquoi avez-vous besoin de supprimer un encodage? Mais..
effacera
standalone="no"
Cela permettrait de résoudre votre problème, vérifiée au JDK 6