2014-11-11 1 views
0

거기에 콜론이있는 이름을 가진 속성을 가진 태그있다 이 속성의 값을 반환합니다.XmlPullParser 내 XML에서

parser.getAttributeValue(null, "StUF:bestandsnaam"); 
parser.getAttributeValue("StUF", "bestandsnaam"); 
parser.getAttributeValue(null, "bestandsnaam"); 
parser.getAttributeValue("bestandsnaam", "StUF"); 

...하지만 모두 null을 반환합니다. 내가 수동으로 "STUF :"제거하면

는 :

parser.getAttributeValue(null, "bestandsnaam"); 

그래서 어떻게 이러한 속성의 값을받을 수 있나요 속성 이름의 일부를, 그것을 호출하여 작동? getAttributeValue()의 int 매개 변수 버전을 사용하지 않으면 즉,.

답변

4

대한 example과 처리의 시작을 가능보십시오. 어딘가에 XML 문서의 최대 당신은

xmlns:StUF="{something}" 

처럼 보이는이 요소의 조상 중 하나에 네임 스페이스 선언을 찾을 수 있어야하고 그건이 {something} (아마도 HTTP의 URL 또는 urn:... 중 하나처럼 보일 것이다) 그 "네임 스페이스"매개 변수로 전달해야합니다. 예를 들어, 한 경우 :

<root xmlns:GSS="urn:example:GSS" xmlns:StUF="http://stuff.com/namespace"> 
    <GGS:bericht StUF:bestandsnaam="bestand.txt" > 

다음 코드

parser.getAttributeValue("http://stuff.com/namespace", "bestandsnaam"); 
+0

감사해야 할이 작동합니다. –

1

getAttributeValuewith the namespace parameter에 대한 설명서는 네임 스페이스 처리를 활성화해야한다고 말합니다. 속성이 네임 스페이스 수단 "은에 콜론 이름"setFeature

setFeature(FEATURE_PROCESS_NAMESPACES, true)