2012-01-14 5 views
3

Ive는 android에서 simplexml 프레임 워크와 함께 이상한 문제가 있습니다. 나는 XML 소스에서 weatherdata라는 객체를 읽고 채우려고합니다.android에서 간단한 XML 프레임 워크, 클래스 속성

01-14 14:22:28.919: W/System.err(18011): java.lang.ClassNotFoundException: pointData in loader dalvik.system.PathClassLoader 

:하지만 난 아주 이상한 오류가

@Root(name = "weatherdata", strict=false) 
public class Weatherdata { 

    @Element(name="product", required = true) 
    protected ProductType product; 

:

XML 파일 (이 일에 아무런 제어) : 같은

<weatherdata> 
    <product class="pointData"> 
     .... 
    </product> 
</weatherdata> 

그래서 내 자바 파일이 보인다 @Element 필드에 class = ProductType.class를 입력하려고해도 상관 없습니다. 프로 제트에서 생성자를 사용하여 pointData 클래스를 만들더라도 오류는 변경되지 않습니다. 그것은 간단한 XML 프레임 워크 2.6.2와 예약 키워드 엉망으로 "클래스"처럼 보입니다.

xml을 변경할 수 없습니다. 어떻게 내가 그걸 해결할 수 있었는지 아는가? 미리 감사드립니다.

+0

XML 요소의 모든 속성을 저장 한 다음 나중에 구문 분석 할 수있는 방법이 있습니까? SimpleXML을 읽고 다음 번에 링크해야합니다 .--) – Blundell

+0

오, 꽤 유명하기 때문에 링크 할 필요가 없다고 생각했습니다. 어쨌든 여기에 있습니다 : http://simple.sourceforge.net/. 저는 이미 그것을 심하게 연구했고 jaxb 생성 클래스를 간단한 xml로 변환했습니다. 그것은 매력처럼 갔고 나는 그것을 위해 simpleXml을 좋아했습니다. 내가 처음에 막았습니다. – Gomoku7

답변

7

TreeStrategy를 사용하여 "클래스"를 다른 것으로 대체하십시오.

Strategy strategy = new TreeStrategy("clazz", "len"); // clazz substitute for class, 
                 // and len for array lengths 
Serializer serializer = new Persister(strategy); 
+0

이봐, 재미있어 보인다. Thnaks! – Gomoku7

+0

매력처럼 작동했습니다! – Gomoku7