使用XML文档中的内容更新链接文本

Update link text with content from XML document

本文关键字:更新 链接 文本 XML 文档 使用      更新时间:2023-09-26

对于每个链接,例如

<a href="http://www.wowhead.com/item=78363">http://www.wowhead.com/item=78363</a>

我想在href属性中检索URL末尾的ID。例如,如上所述,78363。使用这个ID,我想检索一个XML页面,并根据ID从中获取数据。XML文档的URL与项目的链接相同,但以&xml结尾,因此:

http://www.wowhead.com/item=78363&xml

从XML页面,我需要CDATA部分中的值,如下所示:

<name>
<![CDATA[Vagaries of Time]]>
</name>

也就是"时间的迷雾"。然后我需要在标签中插入名称:

<a href="http://www.wowhead.com/item=78363">Vagaries of Time</a>

我怎样才能做到这一点?

基于正则表达式循环链接,发送Ajax请求,使用正则表达式解析文本,然后完成。

$('a').each(function() {
    var $this = $(this);
    if(/item='d+$/.test(this.href)) {
        $.ajax({
            url: this.href + '&xml',
            dataType: 'text',
            success: function(data) {
                $this.text(/<!'[CDATA'[([^']]+)/.exec(data)[1]);
            }
        });
    }
});

当然,您很可能希望添加一些错误检查。此外,如果您的XML文档比您发布的示例更复杂,请考虑使用本机XML功能进行解析——为了简单起见,我只是使用了正则表达式。