J'ai besoin d'ajouter la définition d'espace de nommage à un élément puisqu'il n'est pas ajouté quand xml est généré en utilisant apache xmlbean. Comment puis-je l'obtenir en utilisant l'API xmlbeans?Ajouter une définition d'espace de noms à xml en utilisant apache xmlbeans
3
A
Répondre
3
J'ai trouvé la réponse au problème. Voici comment c'est.
XmlCursor cursor= targetObject.newCursor();
cursor.toNextToken();
cursor.insertNamespace("A", "namespace1");
//For example
cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
cursor.dispose();
0
Utilisation:
XmlOptions.setSaveSuggestedPrefixes()
XmlOptions xmlOptions = new XmlOptions();
xmlOptions.setSavePrettyPrint();
xmlOptions.setSavePrettyPrintIndent(4);
xmlOptions.setSaveAggressiveNamespaces();
HashMap<String, String> nsMap = new HashMap<String, String>();
nsMap.put("namespace1","A");
nsMap.put("http://www.w3.org/2001/XMLSchema-instance", "xsi");
xmlOptions.setSaveSuggestedPrefixes(nsMap);
// Create your XmlObject
<Your XmlObject>.save(new File("test.xml"),xmlOptions);
+0
Ne fonctionnait pas pour moi - cela ne fait que définir les préfixes suggérés. Autant que je comprenne, la question originale était d'ajouter une définition d'espace de noms aux documents qui n'utilisent pas réellement cet espace de noms. –
je devais appeler cursor.toNextToken() deux fois, sinon c'était ce que je avais besoin. –