에서 제거하는 방법 JAXB 생성 클래스 집합이 있고 클래스 중 일부는 "Object"를 매개 변수로 사용할 수있는 setter 메서드가 있습니다. 예 :xmlns : xsi 및 xsi : type을 JAXB 정렬 된 XML 파일
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="Car", propOrder = {
"defaultCar"
}
public class Car {
@XmlElement(name = "DefaultCar")
protected Object defaultcar;
public void setDefaultCar(Object value) {
this.defaultCar = value;
}
코드에서 이러한 클래스의 인스턴스를 만든 후에 필요한 값을 전달하는 setter 메서드를 호출합니다. 메서드의 매개 변수가 Object 임에도 불구하고 값은 문자열 일 가능성이 가장 높습니다 (정의 방법을 제어 할 수 없음). 그러나 일관성있게 유지하기 위해 메서드의 매개 변수 유형과 일치하도록 문자열을 Object로 캐스팅합니다. 코드는 다음과 같은 :
Object value = "Old Banger";
Method method = aCar.getClass().getMethod("setDefaultCar", Object.class);
method.invoke(aCar, value);
I 마샬은 자바 객체, 나는 단지 문자열 값의 앞에, 결과 XML 내에서 다음과 같은 얻을 때 : 나는했습니다
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string"
메소드의 매개 변수 유형과 전달 된 데이터 유형간에 불일치하는 데이터 유형에 대한 어딘가를 읽습니다. 내 경우에는 "Object"라는 메서드 매개 변수가 있지만 문자열을 전달합니다 (Object에 캐스트 했음에도 불구하고). 나는 또한이 게시물을 본 적이 그것은 내 문제와 비슷 :
"xsi:type" and "xmlns:xsi" in generated xml by JAXB
그러나, 그것은 내 문제를 극복 도움이되지 않습니다. xmlns : xsi 및 xsi : type에 대한 이러한 참조를 제거 할 수 있습니까?
thx
'자동차'클래스는 어떻게 생겼습니까? – lexicore
질문을 수정하십시오. – lexicore