2010-05-20 7 views
0

이름 속성 :자바 XML 내가 주석을 사용하는 경우

@XmlRootElement(name="RootElement", namespace="namespace") 
class RootElement { 

자바에서 XML 파일을 만들 수를, 그것은뿐만 루트 요소 작성

<ns2:RootElement xmlns:ns2="namespace"> 

을하지만 창조하고 싶었다 "ns2"제외 :

<RootElement xmlns="namespace"> 

어떤 문제를 해결할 수 있습니까?

태그로 연결 링크 (예 : 내가 XML을 생성하는 데 사용) : xmlns = "namespace" 또한 자식 요소에 대한 네임 스페이스를 지정하기 때문에 http://www.java2s.com/Code/JavaAPI/javax.xml.bind.annotation/XmlRootElementname.htm

답변

2

JAXB가 귀하의 경우 xmlns = "namespace"를 사용하지 않습니다, 다음 firstlast 요소는 기본에 namespace (@XmlRootElement은 하위 요소의 네임 스페이스를 지정하지 않으므로).

@javax.xml.bind.annotation.XmlSchema(
    namespace = "namespace", 
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) 
package foo; 
+0

이있다 :

@XmlElement(namespace = "namespace") public String getFirst() { return first; } ... @XmlElement(namespace = "namespace") public String getLast() { return last; } 

또한 package-info.java에서 패키지 레벨의 주석을 사용하여 모든 요소에 대한 네임 스페이스를 작성할 필요가 피할 수 : 그래서, 당신은 @XmlElement를 사용 firstlast에 대한 네임 스페이스를 설정해야 어떤 방법 으로든 jaxb가 xmlns = ""내 자식 요소가 같은 네임 스페이스에서 나온다면 강제로 사용할 수 있습니까? 내 질문에 대한 답변을 확인하십시오. http://stackoverflow.com/questions/18889133/xml-marshalling-i-want-namespace-attributes-and-not-prefixes – Tejas

관련 문제