我需要设置名称空间,希望有人可以帮助我。
这就是我需要的:
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
我尝试这样做:
Namespace ns1 = Namespace.getNamespace("urn:iso:std:iso:20022:tech:xsd:pain.001.001.03");
Namespace ns2 = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
Element root = new Element("Document");
root.addNamespaceDeclaration(ns2);
root.addNamespaceDeclaration(ns1);
但我得到了这个例外:
命名空间xmlns =&#34; urn:iso:std:iso:20022:tech:xsd:pain.001.001.03&#34; 无法作为名称空间添加到&#34; Document&#34;:名称空间前缀 &#34;&#34;与元素名称空间前缀
发生冲突
由于
答案 0 :(得分:2)
使用
Namespace ns1 = Namespace.getNamespace("urn:iso:std:iso:20022:tech:xsd:pain.001.001.03");
Namespace ns2 = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
Element root = new Element("Document", ns1);
root.addNamespaceDeclaration(ns2);
由于您已定义默认命名空间,因此在创建Element
时必须使用它。否则JDOM抱怨该元素没有命名空间,同时有一个默认的命名空间声明。