XML在名称中获取元素的值:(冒号)?

时间:2012-08-30 19:25:39

标签: google-apps-script

请,

在解析RSS提要时,名称空间的冒号如下:“ content:encoded ”,我无法从中获取文本值。

通过迭代XML项(link)找到了一些解释,但我无法使用,必须使用已知名称,然后获取值。

有没有办法获取价值?

1 个答案:

答案 0 :(得分: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();