2010-06-08 3 views

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

je devais appeler cursor.toNextToken() deux fois, sinon c'était ce que je avais besoin. –

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. –

Questions connexes