2016-04-01 12 views
0

Bütün <media:content/> elemanlarının url özelliğinin listesini elde etmek gerekir:Aynı etikete sahip tüm öğeler ad alanıyla nasıl edinilir?

Bu benim XML'dir:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder = factory.newDocumentBuilder(); 

Document doc = builder.parse(inputStream); 
NodeList contents = doc.getElementsByTagNameNS("http://search.yahoo.com/mrss/", "content"); 

Ayrıca

<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'> 
    <channel> 
     <item> 
      <media:group> 
       <media:content url='https://valor'/> 
      </media:group> 
     </item> 
     <item> 
      <media:group> 
       <media:content url='https://valor'/> 
      </media:group> 
     </item>  
    </channel> 
</rss> 

Bunu denedim, ama contents.getLength() döner 0 elemanlar ı XPath kullanmayı denedi ... ama yine

döndürür

önerileri?

+0

Ad alanı farkındalığı etkin olmadığında varsayılan davranışı olduğundan, xpath'inizin çalışması gerektiğini düşünmüştüm ... –

cevap

1

Önce factory.setNamespaceAware(true)'u ayarlamanız gerekir. Daha sonra getElementsByTagNameNS çalışmalıdır.

+0

Çok teşekkür ederim! BTW Aynı soruyu ispanyolcada yığın taşması konusunda da sordum, Bize destek olmak isterseniz, lütfen oraya cevap verin (ingilizce), cevabını sizin için çevireceğim: http://es.stackoverflow.com/questions/6760 –

+0

Bazı "Spanglish" yazdım, böylece onu düzeltebilirsiniz. –

İlgili konular