使用apache xmlbeans将命名空间定义添加到xml

时间:2010-06-08 05:58:19

标签: java xml xmlbeans

我需要向一个元素添加名称空间定义,因为当使用apache xmlbean生成xml时,它没有被添加。我如何使用xmlbeans API来解决这个问题?

2 个答案:

答案 0 :(得分:3)

我找到了问题的答案。 这是它的样子。

XmlCursor cursor= targetObject.newCursor();
cursor.toNextToken();
cursor.insertNamespace("A", "namespace1");
//For example
cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
cursor.dispose();

答案 1 :(得分:0)

使用:

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);