2012-03-23 2 views
0

Android에서 Dom 파서를 사용하여 다음 구문을 분석하려고합니다. 구문 분석DOM 파서를 사용하는 Android XML 구문 분석 문제

<offerURL> 
http://statTest.dealtime.com/DealFrame/DealFrame.cmp?bm=553&BEFID=93767&aon=%5E1&MerchantID=434524&crawler_id=1909400&dealId=TCk4NTG97Aa3wSQgh2U3FQ%3D%3D&url=http%3A%2F%2Frover.ebay.com%2Frover%2F1%2F707-64686-24023-0%2F2%3Fipn%3Dpsmain%26icep_item_id%3D190622592957%26icep_vectorid%3D260601%26kwid%3D1%26mtid%3D637%26crlp%3D1_260601%26kw%3D%7Bquery%7D%26query%3D%7Bquery%7D%26linkin_id%3D%7Blinkin_id%7D%26sortbid%3D%7Bbidamount%7D%26fitem%3D190622592957%26mt_id%3D637&linkin_id=7000251&Issdt=120323134700&searchID=p2.77722a731149145f60fa&DealName=Samsung+B2100+Outdoor+In+Schwarz+%28black%29+Orig.+Neuware&dlprc=89.95&crn=&istrsmrc=1&isathrsl=0&AR=1&NG=3&NDP=6&PN=1&ST=7&DB=sdcprod&MT=phx-pkadu-intl-dc20&FPT=DSP&NDS=&NMS=&MRS=&PD=95929320&brnId=14863&IsFtr=0&IsSmart=0&DMT=&op=&CM=&DlLng=7&RR=1&cid=&semid1=&semid2=&IsLps=0&CC=0&SL=0&FS=1&code=&acode=538&category=&HasLink=&frameId=&ND=&MN=&PT=&prjID=&GR=&lnkId=&VK= 
</offerURL> 

나는 다음과 같은 코드를 사용하고 있습니다 : 그것은 잘 작동하지만 <offerURL> 태그의 값이 잘립니다지고

Node node = ..... 
String nodeName = node.getNodeName(); 
if (nodeName.equalsIgnoreCase("offerURL")) { 
    String offerUrl = node.getFirstChild().getNodeValue() 
    Log.d("offerUrl => " + offerUrl); 
} 

. 변수 cat의 변수 값이 "http://statTest.dealtime.com/DealFrame/DealFrame.cmp?bm=553"입니다.

정확하게 무엇이 문제인지 잘 모릅니다. 도와주세요.

답변

2

&은 XML로 미리 정의 된 항목이므로 특별한 방법으로 표현해야합니다. URL에서 &을 모두 &amp;으로 변경하면 작동합니다.

Predefined entities in XML은 XML의 모든 미리 정의 된 엔터티와이를 나타내는 방법을 알려줍니다.

+0

답장을 보내 주셔서 감사합니다. 이전에 구문 분석을 위해 다음 코드를 사용했습니다 : 'document = documentBuilder.parse (inputStream); ' 다음 구문 분석 방법을 다음과 같이 변경했습니다 : 'String responseString = convertStreamToString (responseStream); InputSource inputSource = 새 InputSource (새 StringReader (응답 문자열)); document = documentBuilder.parse (inputSource); ' 이 기술을 사용하여'&'는 '&'으로 바뀌 었습니다. 하지만 여전히 같은 문제가 발생합니다. –

+0

convertStreamToString 메서드에서 다음 문을 사용했습니다. 'BufferedReader bufferedReader = new BufferedReader (new InputStreamReader (inputStream, "UTF-8"));' –

관련 문제