2

请,

解析 RSS 提要时,存在带有冒号的名称空间,例如:“内容:编码”,我无法从中获取文本值。

找到了一些关于迭代 XML 项(链接)的解释,但我不能使用,必须使用已知名称,然后获取值。

有什么办法可以抢到价值吗?

4

1 回答 1

1

在 xml 文档的开头查找类似以下命名空间详细信息的内容,或以编程方式对其进行解析:

<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
>

然后你可以使用

var url ="http://blog.com/feed";
var response = UrlFetchApp.fetch(url);
var xml = Xml.parse(response.getContentText(), false);
var itemArray = xml.getElement().getElement("channel").getElements("item");


//Use the URI from namespace details below (Example for <content:encoded>)
var data = itemArray[0].getElement("http://purl.org/rss/1.0/modules/content/","encoded").getText(); 
于 2012-10-06T10:57:49.640 回答