2017-11-30 13 views
1

Java에서 XML 파일을 구문 분석하려고 시도했지만 일부 줄에는 HTML 기호 & # 153이 포함되어 있습니다. 그래도 내가 할 때XPath를 사용하여 XML의 상표 기호를 구문 분석 할 수 없습니다.

((String) myXPath.evaluate(node, STRING)); 

나는 ™ 대신에 사각 기호를 얻습니다. 내 컴퓨터는 Linux이고 XML 인코딩은 UTF-8입니다. 이 정확한 기호를 올바르게 인코딩하는 방법을 이해할 수 없습니다. & # 8482;

File xmlFile = new File(path); 
FileInputStream fileIS = new FileInputStream(xmlFile); 
xmlDocument = builder.parse(fileIS); 

답변

1

는 HTML 엔티티를 & # 153 약간의 인쇄 할 수없는 제어 문자 153 코드 포인트 유니 코드 문자를 나타냅니다 :

는 나는 다음과 같은 방법으로 문서 인스턴스를 생성 ... 완벽하게 인코딩됩니다. 그것은 상표 기호가 아닙니다. 153은 일부 Microsoft Windows 문자 세트의 상표 기호 일 수 있지만 웹에서는 관련이 없습니다. 8482 - https://en.wikipedia.org/wiki/Trademark_symbol

HTML 엔터티 참조에 사용 된 숫자는 파일 인코딩과 관련이 없습니다. 사실, 인코딩을 사용하는 전체 시점입니다. 인코딩의 변경 사항은 그대로 유지됩니다.

+0

답변 해 주셔서 감사합니다. 나는 또한 그걸 알아 냈고 모든 것을 153,842로 대체했습니다. 몇 가지 이유로 XML은 153으로 작성되었으며 이것이 올바르게 구문 분석 할 수있는 유일한 옵션이었습니다. –