Использование JavaScript для поиска ключевых слов в файлах XML

1

В поисках конкретных упоминаний ключевых слов я недавно использовал скрипт python для анализа нескольких тысяч XML файлов в один CSV. В дополнение к ключевым словам, мой скрипт получил номер строки и XML файл, в котором было найдено каждое ключевое слово.

Id нравится знать, в каком элементе находится мое ключевое слово, и как минимум два или три родительских элемента, которые раньше были.

Например, если "золотой ретривер" найден в <p> дочернего элемента <canine>, Id любит знать предыдущие два или три родительских элемента: <species>, <genus> и <family> и т.д.,

Вот что я до сих пор, но я не уверен, что я на правильном пути. Я нахожусь в затруднительном положении и программирую уже месяц. Это что-то, что я могу сделать только с номером строки?

    function getHierarchy(node, parentCount, list = []){
    const parent = node.parentElement;
    if(!!!parent) return list; 
    if(parentCount !== undefined && list.length === parentCount) return list;
    list.push(parent);
    return getHierarchy(parent, parentCount, list);
}

function readXml(xmlString){
    const parser = new DOMParser();
    return parser.parseFromString(xmlString, 'text/xml');
}

const xml = readXml(xmlData);
const target = Array.from(xml.getElementsByTagName('example')).find(p=>p.textContent.trim() === 'example');
const hierarchy = getHierarchy(target, 3);
console.log(hierarchy);
Теги:
csv

1 ответ

0

Почему бы не использовать jQuery следующим образом:

const xml = "<family><genus><species><canine><p>golden retriever</p></canine></species></genus></family>";

const xmlDoc = $.parseXML(xml)
$xml = $(xmlDoc)
const $title = $xml.find( ":contains('golden retriever')");
console.log($title.html());
  • 0
    Я хотел бы, но элементы мне неизвестны. Я просто знаю номер строки и файл, в котором было найдено ключевое слово.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню