반응형
너님을 위해 결론부터 이야기 하면, 만들어 써라.
고객이 데이터를 xml 로 준다고 해서 받아봤는데, 컨텐츠 부분에
<![CDATA[본문본문]]>
요런 식으로 써있더라? 아니 XML 인데 왜 CDATA 를 쓰냐고!!
그래서 파서를 수정하려고 좀 뒤져봤는데, 의외여서 기록으로 남긴다.
난 기존 제공되는 API를 쓰고 싶었는데, 의외로 답글들이 "만들어 써" 라고 하는군.
1. xml을 org.w3c.doc 으로 파싱하는 경우.
http://stackoverflow.com/questions/25275248/how-to-parse-within-cdata-in-xml-using-java
http://www.java2s.com/Code/Java/XML/GetcharacterdataCDATAfromxmldocument.htm
등을 참고.
원래 xml 규약은 CDATA 변환이 없다. 고로 contents ( = 텍스트 내용 ) 가져올 때 <![CDATA[]]>까지 가져오는 거 자체는 맞는 거란다.
2. XmlPullParser 쓰는 경우.
1번과 동일. 만들어서 쓰라네. 별거있나. xmlText = xmlText.substring( 9, xmlText..length() - 3 ) 처럼 쓰는 거지.
끝.
반응형
'프로그램 > 안드로이드' 카테고리의 다른 글
안드로이드에서 view.getId() 가 -1 리턴 (0) | 2018.11.06 |
---|---|
안드로이드 view 동적 크기 변경. getLayoutParam() 안될때. (0) | 2018.11.04 |
안드로이드 OS 별 API Level 목록. (0) | 2017.04.05 |
안드로이드 스튜디오에서 프로젝트 파일을 읽지 못 할 경우. (0) | 2017.04.02 |
앱이 background 상태일때, FCM Notification event handler 를 수신하지 못하는 경우. (6) | 2017.03.31 |