Hola, espero puedan ayudarme con esto...estoy tratando de rescatar los datos de un rss/xml de yahoo, que es el siguiente:
 
http:
//weather.yahooapis.com/forecastrss?w=2502265 
y para ello estoy utilizando este codigo:  
Código:
 import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.CharacterData;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class RSSReader {
    private String titulo;
    private static RSSReader instance = null;
    private RSSReader() {
    }
    public static RSSReader getInstance() {
        if (instance == null) {
            instance = new RSSReader();
        }
        return instance;
    }
    public void writeNews() {
        try {
            DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            URL u = new URL("weather.yahooapis.com/forecastrss?w=349871&u=c");
            Document doc = builder.parse(u.openStream());
            NodeList nodosCanal = doc.getElementsByTagName("channel");
            NodeList nodosImg=  doc.getElementsByTagName("image");
            for (int i = 0; i < nodosCanal.getLength(); i++) {
                Element element = (Element) nodosCanal.item(i);
                
               System.out.println("*Title: " + element.getSchemaTypeInfo()+"**************");
                System.out.println("*Link: " + getElementValue(element, "link"));
            }//for
        }//try
        catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    private String getCharacterDataFromElement(Element e) {
        try {
            Node child = e.getFirstChild();
            if (child instanceof CharacterData) {
                CharacterData cd = (CharacterData) child;
                return cd.getData();
            }
        } catch (Exception ex) {
        }
        return "";
    } //private String getCharacterDataFromElement
    protected float getFloat(String value) {
        if (value != null && !value.equals("")) {
            return Float.parseFloat(value);
        }
        return 0;
    }
    protected String getElementValue(Element parent, String label) {
        return getCharacterDataFromElement((Element) parent.getElementsByTagName(label).item(0));
    }
    public String getTitulo() {
        return titulo;
    }
public static void main(String[] args) {
		RSSReader reader = RSSReader.getInstance();
		reader.writeNews();
		}
}
  pero mi problema es que no puedo rescatar los valores que son por ejemplo asi:  
Código:
  <yweather:location city="Sunnyvale" region="CA" country="United States" />
  o asi:  
Código:
 <yweather:condition text="Fair" code="33" temp="45" date="Tue, 24 Nov 2009 6:56 am PST" />
  alguien me puede hechar una manito?? 
salu2