2011-03-30 3 views
1

SAX 파서에서 기본 Android와 일치하도록 기능/속성을 구성하는 방법이 있습니까?Android JDK와 일치하도록 Sun JVM에서 SAX 파서를 구성하려면 어떻게해야합니까?

Atom 피드 용 SAX 구문 분석기를 구현했으며 InstrumentationTestCase를 통해 실행하지 않고 단위 테스트를 수행하고 싶습니다. 내가 지금 보았던 차이점은 startElement()에서 localName은 Android에서 실행될 때 요소 이름을 갖지만 Sun JVM에서 실행될 때 "name"메서드 매개 변수가 채워진다는 점입니다. 또한 Sun JVM에서 실행될 때 공백은 무시되지만 Android에서는 실행되지 않습니다.

답변

1

몇 가지 시행 착오 끝에이 두 가지 기능이 가장 유사한 것으로 보입니다. 결국 우리는 XML 구문 분석의 차이로 인해 이러한 유형의 단위 테스트를 계측 테스트로 실행하게되었습니다.

XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); 
reader.setFeature("http://xml.org/sax/features/namespaces", false); 
reader.setFeature("http://xml.org/sax/features/namespace-prefixes", false); 
reader.setContentHandler(handler); 
reader.parse(source); 
-1

은 아마도 네임 스페이스를 인식하도록 구문 분석기를 구성하고 "http://apache.org/xml/features/dom/include-ignorable-whitespace"기능을 true로 설정해야 할 것입니다.

+0

그건 SAX 기능이 아니라 DOM 기능입니다. –

+0

아, 좋은 지적이야. 내 열정으로 그것을 놓쳐 버렸음에 틀림 없다. – jtahlborn