2014-01-17 4 views
2

JAXB를 사용하여 XML 파일을 읽었습니다. 나는 다음과 같은 구조를JAXB xml 태그 속성 무시

<A> 
    <B value="some string" /> 
</A> 

가 나는 다음과 같은 모델

@XmlRootElement 
class A{ 
    @XmlElement(name = "B", required = true) 
    @XmlPath("B/@value") 
    String b; 
} 

내가 내 B의 인스턴스 변수에 B 태그의 value 속성을 읽을 수 있습니다.

일부 XML 파일에서 구조 B 다음 태그가 있습니다. <#B/> JAXB 파일을 언 마샬하는 동안 형식이 올바르지 않은 경우가 있습니다. javax.xml.stream.XMLStreamException : [행 안부]에서 ParseError은 : [19,4]

답변

1

당신은 다만하여 @XmlElement 주석없이 다음이 있어야합니다 :이 작동하지 않습니다

@XmlRootElement 
class A{ 
    @XmlPath("B/@value") 
    String b; 
} 
+0

. 태그가 <#B>인데 표준 Normal은 입니다. 파서가 <#B/> 태그를 볼 경우 그는 예외를 throw합니다 –

+0

@SadikHasan - 예외는 무엇입니까? –

+0

- 링크 된 예외 : [예외 [EclipseLink-25004] (Eclipse 지속성 서비스 - 2.6.0.v20140107-a992a67) : org.eclipse.persistence.exceptions.XMLMarshalException 예외 설명 : An 문서의 비 정렬 화가 발생했습니다. 에러 : 내부 예외 : javax.xml.stream.XMLStreamException : ParseError at [row, col] : [19,4]. 나는 예외를 잡았고 구문 분석이 태그 <#B>을 보는 곳에서 볼 수있다. –