如何使用javascript创建rss/xml链接元素
我正在开发一个播客生成器,我已经开始使用XMLDOM,这是非常酷的东西。最后一个障碍是连接和外壳元素 链接元素被视为html链接,并且附件不是自动关闭的。相反,它会产生以下结果如何使用javascript创建rss/xml链接元素,javascript,xml,dom,rss,createelement,Javascript,Xml,Dom,Rss,Createelement,我正在开发一个播客生成器,我已经开始使用XMLDOM,这是非常酷的东西。最后一个障碍是连接和外壳元素 链接元素被视为html链接,并且附件不是自动关闭的。相反,它会产生以下结果 <link /> <enclosure></enclosure> 从: document.createElement 致: 修复了enclosure标记的自动关闭问题,但是它这样做是因为它只创建自动关闭标记,尽管它也修复了pubDate中的大写问题。似乎我需要找到一种方法来设置
<link />
<enclosure></enclosure>
从:
document.createElement
致:
修复了enclosure标记的自动关闭问题,但是它这样做是因为它只创建自动关闭标记,尽管它也修复了pubDate中的大写问题。似乎我需要找到一种方法来设置元素/节点/对象类型,但我还没有找到一种方法
我发现创建一个文本节点,然后将其附加到新创建的元素中,会将自动关闭标记更改为完整标记。您应该显示用于生成此标记的代码……我很抱歉。我正在使用的代码已经添加到OP中。enclosure元素现在可以正常工作,但是link元素仍然会生成一个html链接元素。我发现创建一个文本节点,然后将其附加到新创建的元素将把self-closing标记改为full标记。我不经常使用这个论坛,所以我的观点需要我等8个小时才能回答我自己的问题,稍后我会用更新的脚本回来回答。当你发布答案时,请将其从问题中删除
var retFeedOptions =document.getElementsByTagName('noscript')[0].innerText;
parser=new DOMParser();
newFeed=parser.parseFromString(retFeedOptions,"text/xml");
newEntry=newFeed.createElement('item');
newXtitle=newFeed.createElement('title');
newXlink=newFeed.createElement('link');
newXdescription=newFeed.createElement('description');
newXpubdate=newFeed.createElement('pubDate');
newXguid=newFeed.createElement('guid');
newXenclosure=newFeed.createElement('enclosure');
newEntry.appendChild(newXtitle);
newEntry.appendChild(newXlink);
newEntry.appendChild(newXdescription);
newEntry.appendChild(newXpubdate);
newEntry.appendChild(newXguid);
newEntry.appendChild(newXenclosure);
var RSSchannel =newFeed.getElementsByTagName('channel')[0];
var nextItemNode =newFeed.getElementsByTagName('item')[0];
RSSchannel.insertBefore(newEntry,nextItemNode);
document.getElementsByTagName('noscript')[0].innerHTML=(new XMLSerializer()).serializeToString(newFeed);
document.createElement
newFeed.createElement