2012-05-17 3 views
0

XML에서 내용을 가져 오는 서블릿을 작성하는 XML이 있습니다. 이러한 태그 중 하나는 <itunes:author>Jonathan Kendrick</itunes:author>
입니다. 이에 대한 저자 가치가 필요합니다. 때문에 의 :태그 사이에서 XML 데이터 읽기

나는 에 대한 네임 스페이스를 사용하여 이스케이프 시퀀스를 사용하여 시도 :를하지만 나를 위해 일하지 않았다. 다른 XML 요소의 나머지 나는 단지 내가 당신의 XML에 '아이튠즈 : 저자'을 sequernce를 JDOM 파서

+0

이이 getChildText의 일의 과부하를 사용하여 얻을 수 있어야합니다 에서 네임 스페이스를 사용합니다. 실패한 방법에 대해 자세히 설명해 주시겠습니까? –

+0

원하는 컨테이너에 어떤 값도 제공하지 않았습니다. 당신은 그것의 예를 들어 줄 수 있습니까? 감사합니다 – CodeMonkey

+0

예를 들어 보려고했지만 rolfi가 내 대답을 보았습니다. –

답변

3

을 사용하고

String link=node.getChildText("link").toString(); 

을 사용하고

는 Q-NAMEM은 "자격을 불리는 것을 나타냅니다 이름". XML에서는 'Namespace prefix'와 'Local Name'으로 구성됩니다. 귀하의 예제에서 네임 스페이스 접두사는 'itunes'이고 'local name'은 'author'입니다.

원하는 것은 접두어 'itunes'에 연결된 네임 스페이스의 'author'요소입니다. 실제 네임 스페이스는 일반적으로 전체 URL입니다. 귀하의 예제에 대한 전체 URL은 아마도 xmlns : itunes = "http://www.itunes.com/dtds/podcast-1.0.dtd"라고 생각하지만이를 확인해야합니다.

네임 스페이스는 "http://www.itunes.com/dtds/podcast-1.0.dtd"입니다. 접두어는 'itunes'로 선언되어 있습니다 (하지만 다른 이름 일 수도 있습니다 - 실제 접두사 이름 당신이 원하는, 그래서 당신은 'http://www.itunes.com/dtds/podcast-1.0.dtd'네임 스페이스에서 '저자'싶어

) ... 기술적으로 중요하다

String author = node.getChildText("author", Namespace.getNamespace("http://www.itunes.com/dtds/podcast-1.0.dtd")); 
에 대한 자세한 내용은

네임 스페이스 체크 아웃 : http://www.w3schools.com/xml/xml_namespaces.asp

+0

컴파일 중 오류 발생 : 심볼 을 해결할 수 없습니다. symbol : 변수 네임 스페이스 – CodeMonkey

+0

imported import org.jdom.Namespace; 같은. 문제가 해결되었습니다. 감사 – CodeMonkey

관련 문제