[英]Extract a value from an XML string using JavaScript
我面臨以下問題:
給我一個XML字符串和一條消息(字符串),我需要一個函數,該函數可以解析XML字符串並返回存在消息的XML標簽(id =“ x”)的ID數組。
我只能為此使用JavaScript。
function getIdByMessage(xml, message) { // problem to solve } var xml = ` <test>blabla</test> <otherstuff>MoreStuff</otherstuff> <message-not-relevant>Not relevant</message-not-relevant> <entry id="4">Function Message<entry> <otherstuff>MoreStuff</otherstuff> <message-not-relevant>Not relevant</message-not-relevant> <entry id="3">Function Message<entry> <otherstuff>MoreStuff</otherstuff> <message-not-relevant>Not relevant</message-not-relevant> ` getIdByMessage(xml, 'Function Message'); // should return [4, 3];
首先將XML解析為DOM:例如, 使用JavaScript解析XML
然后,在生成的DOM Document對象上,執行XPath表達式
//entry[. = 'Function Message']/@id
這將返回一組屬性節點。
根據xml中的內容,您不必解析它。 您可能僅通過搜索id =“ number”就可以擺脫困境
例如:
let matches = xml.match(/id="[\d]+"/gm);
let entryIds = matches.map(m => m.match(/\d+/)[0]));
或者在第一行匹配整個標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.