Files
MoonTVPlus/src/lib/danmaku/xml-parser.ts

31 lines
716 B
TypeScript
Raw Normal View History

2026-01-05 00:52:17 +08:00
import type { DanmakuComment } from './types';
/**
* XML格式的弹幕文件
* @param xmlContent XML文件内容
* @returns
*/
export function parseXmlDanmaku(xmlContent: string): DanmakuComment[] {
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');
const dElements = xmlDoc.getElementsByTagName('d');
const comments: DanmakuComment[] = [];
for (let i = 0; i < dElements.length; i++) {
const element = dElements[i];
const p = element.getAttribute('p');
const text = element.textContent;
if (p && text) {
comments.push({
p,
m: text,
cid: i,
});
}
}
return comments;
}