2013-11-25 2 views
2

Hadoop을 사용하여 XML을 구문 분석하고 있는데 코드가 here입니다.메시지 : hadoop에있는 1 바이트 UTF-8 시퀀스의 유효하지 않은 바이트 1

그러나 나는 다음과 같은 오류를 받고 있어요 :

FINISH_TIME="1385387129970" HOSTNAME="DEV140" ERROR="java.io.IOException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[18,3] Message: Invalid byte 1 of 1-byte UTF-8 sequence.

하지만 내 XML은 UTF-8 전용으로 인코딩됩니다. 어떻게 처리 할 수 ​​있습니까?

답변

1

내가이 의심 문제입니다 - 적어도 문제입니다 :

XMLStreamReader reader = 
    XMLInputFactory.newInstance().createXMLStreamReader(new 
     ByteArrayInputStream(document.getBytes())); 

아니라 UTF-8보다, 플랫폼의 디폴트 인코딩을 사용합니다 getBytes에 문의하십시오.

당신 인코딩 이름으로 "utf-8"을 지정할 수 있습니다 -하지만 만드는 간단 할 것 StringReader :

유일한 오류하지 않을 수 있습니다 물론
XMLStreamReader reader = XMLInputFactory.newInstance() 
    .createXMLStreamReader(new StringReader(document)); 

하지만 보는 적어도 뭔가 .

+0

@Backtrack 우리는 Jon Skeet에게 알려주지 않습니다. 그가 맞아. 시도한 후에도 프로그램이 작동하지 않으면 컴퓨터에 버그가 있습니다. – Maroun

+0

Mr.Jon Skeet 고마워요. 정말 내 목숨을 구해 줬어요. 고마워요. – Backtrack

+0

@MarounMaroun - 냉소적으로 저는 그 주석을 달았습니다. 난 화가 났었 다 . 하지만 고마워. – Backtrack

관련 문제