我正在尝试构建一个应用程序,在不使用Twitter的Oauth的情况下显示给定Twitter帐户的订阅源,而是使用W3 spec我将Twitter帐户订阅源页面转换为xml格式src是埋在src属性
下的img标记内<img xmlns="http://www.w3.org/1999/xhtml" width="250"
src="https://pbs.twimg.com/media/CmEqtEuUoAISIC3.jpg"
xml:base="http://twitrss.me/twitter_user_to_rss/?user=capcomfighters" />
我能够获取所有其他标签文本内容,但我不知道如何访问标签属性并获取特定属性的值
如果有更好的方法来解析xml,请告诉我
我正在使用此功能来获取标签的内容
private void ProcessXml(Document data) {
if (data != null) {
feedItems=new ArrayList<>();
Element root = data.getDocumentElement();
Node channel = root.getChildNodes().item(1);
NodeList items = channel.getChildNodes();
for (int i = 0; i < items.getLength(); i++) {
Node currentchild = items.item(i);
if (currentchild.getNodeName().equalsIgnoreCase("item")) {
FeedItem item=new FeedItem();
NodeList itemchilds = currentchild.getChildNodes();
for (int j = 0; j < itemchilds.getLength(); j++) {
Node current = itemchilds.item(j);
if (current.getNodeName().equalsIgnoreCase("title")){
item.setTitle(current.getTextContent());
item.setDescription(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("description")){
// item.setDescription(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("pubDate")){
item.setPubDate(current.getTextContent());
}else if (current.getNodeName().equalsIgnoreCase("img")){
item.setThumbnailUrl(current.getAttributes().getNamedItem("src").getNodeValue());
Log.d("PIC", "ProcessXml: "+current.getAttributes().getNamedItem("src").getNodeValue());
}
}
feedItems.add(item);
}
}
}
}