我有以下
EmployeeTable.prototype.xmlToArray = function(xml) {
// Parse the XML string into a XMLDocument
var xmlDoc = new DOMParser().parseFromString(xml, 'text/xml');
var nodes = xmlDoc.getElementsByTagName("employee");
var employees = [];
for (var i = 0; i < nodes.length; i++) {
employee = nodes[i];
var innerHTML = employee.innerHTML;
var name = innerHTML.filterEmployeesXML("name");
console.log(name);
}
};
调用函数
String.prototype.filterEmployeesXML = function(valToFind) {
var regex = new RegExp(/<name>([^<]*)<\/name>/);
var match = employee.innerHTML.match(regex);
return match[1];
};
但是,我希望能够执行此操作的不只是name
,即我希望能够filterEmployeesXML("jobTitle")
等,其中valToFind
是要找到的值在XML集合中。
我尝试使用基本的字符串连接来做到这一点,虽然我没有关于Regex,任何指针的线索?
答案 0 :(得分:2)
您可以将正则表达式的String表示与RegExp
构造函数一起使用,就像这样
new RegExp("<" + valToFind + ">([^<]*)<\/" + valToFind + ">");