2014-07-13 3 views
2

이름 공간 정보를 속성으로 포함하여 XML 요소를 만들려고합니다. XMLNS : 내 코드 나는 다음과 같은 오류가 발생하고 어떤 이유로이름 공간 정보를 포함하여 XML 요소를 만드는 방법은 무엇입니까?

Element root = new Element("APC_DDF"); 
root.setAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance"); 
root.setAttribute("xsi:noNamespaceSchemaLocation","http://localhost/ddf_schema/apc_ddf_1_6.xsd"); 
root.setAttribute("ddfid", this.dataHolder.getDDFId()); 
root.setAttribute("ddfname", this.dataHolder.getDDFName()); 
root.setAttribute("ddfversion", "1"); 
root.setAttribute("canremove", "yes"); 

,

"스레드에서 예외"AWT-EventQueue의-0 "의 이름 org.jdom2.IllegalNameException"을 다음과 같다 : xsi "는 JDOM/XML 속성에 적합하지 않습니다. XML 이름 'xmlns : xsi'에는": "문자를 포함 할 수 없습니다."

수정 프로그램을 도와주세요. 루트 요소에

답변

3

추가 네임 스페이스 선언하고 대신 속성 이름의 네임 스페이스 접두사 등의 Namespace 객체를 사용

Namespace xsi = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
root.addNamespaceDeclaration(xsi); 
root.setAttribute("noNamespaceSchemaLocation","http://localhost/ddf_schema/apc_ddf_1_6.xsd", xsi); 
// ...