[英]Displaying the sum of counted keywords from xml files using xsl and javascript
[英]Using JavaScript to locate keywords in XML files
在搜索特定的關鍵字提及時,我最近使用了python腳本將數千個XML文件解析為一個CSV。 除了關鍵字之外,我的腳本還檢索了找到每個關鍵字的行號和XML文件。
我想知道我的關鍵字嵌套在哪個元素中,以及之前至少有兩個或三個父元素。
例如,如果在子元素<canine>
的<p>
中找到“黃金獵犬”,我想知道前面的兩個或三個父元素: <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);
為什么不這樣使用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());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.