2012-02-21 1 views
0

문제가 있습니다. XML을 구문 분석합니다. URL가 XML에있다, 즉 다음과 같습니다안드로이드에서 XML을 구문 분석하는 동안 URL의 앰퍼샌드

이 링크가이 코드를 사용하여 구문 분석됩니다
<link>http://basa.med-info.ru/xse/index.php?query=грипп&amp;cluster=9025</link> 

:

NodeList linkList = drugElement.getElementsByTagName("link"); 
      Element linkElement = (Element)linkList.item(0); 
      NodeList textLinkList = linkElement.getChildNodes(); 
      link = textLinkList.item(0).getNodeValue().trim(); 
      Log.i(TAG, "link: "+link); 

결과가 이것이다 : 그래서

link: http://basa.med-info.ru/xse/index.php?query=грипп 

, 어떤 이유로 URL의 나머지 부분이 손실됩니다 : & 클러스터 = 9025 어떻게 해결할 수 있습니까?

업데이트 진정한 코드는 이것이다 :

NodeList linkList = drugElement.getElementsByTagName("link"); 
      Element linkElement = (Element)linkList.item(0); 
      NodeList textLinkList = linkElement.getChildNodes(); 
      link = ""; 
      for (int j = 0; j < textLinkList.getLength(); j++) 
      { 
        link += textLinkList.item(j).getNodeValue(); 
      } 
      Log.i(TAG, "link: "+link); 
+1

. http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/StringEscapeUtils.html 및 http://www.java2s.com/Code/Java/Apache-Common/StringEscapeUtils.htm –

답변

1

당신은

 link = textLinkList.item(0).getNodeValue().trim(); 

따라서 명시 적으로 만 <link>의 첫 번째 텍스트 노드에서 텍스트를 받고있다.

대부분의 텍스트는 textLinkList의 연속 항목에 있습니다.