1.使用方法
var tHdnBGM = GetRoleByXML("104","Role-Site","BG_Mananger"); //返回值为 H00001
var tHdnBGM2 = GetRoleByXMLValue("104","Role-Site","BG_Mananger"); //返回值为 H00001_张那
2.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- 多值以 ":" 分隔 -->
<Role-Setting>
<Role-Site>
<Role Site="104" Name="BG_Mananger">H00001_张那</Role> <!--测试-->
</Role-Site>
</Role-Setting>
3.js方法
function GetRoleByXML(RoleSite, RoleType, RoleName) {
var xmlDoc = LoadXMLDoc("/NaNaWeb/css/bpm-global-roles.xml?v=" + Math.random());
var tResult = "";
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var Role = xmlDoc.getElementsByTagName(RoleType);
var SubRoles = Role[0].getElementsByTagName("Role");
if (RoleSite == "") {
for (var i = 0; i < SubRoles.length; i++) {
if (SubRoles[i].getAttribute("Name") == RoleName) {
tResult = SubRoles[i].childNodes[0].nodeValue;
break
}
}
} else {
for (var i = 0; i < SubRoles.length; i++) {
if (SubRoles[i].getAttribute("Name") == RoleName && SubRoles[i].getAttribute("Site") == RoleSite) {
tResult = SubRoles[i].childNodes[0].nodeValue;
break
}
}
}
} else {
alert("Problem retrieving XML data-" + xmlhttp.status)
}
}
var tmp = "";
var tmpArrV = "";
if (tResult != "") {
var tArr = tResult.split(":");
for (var j = 0; j < tArr.length; j++) {
if (tArr[j].indexOf("_") != -1) {
tmpArrV = tArr[j].match(/(\S*)_/)[1]
} else {
tmpArrV = tArr[j]
}
if (tmp == "") {
tmp = tmpArrV
} else tmp = tmp + ";" + tmpArrV
}
}
return tmp
}
function GetRoleByXMLValue(RoleSite, RoleType, RoleName) {
var xmlDoc = LoadXMLDoc("/NaNaWeb/css/bpm-global-roles.xml?v=" + Math.random());
var tResult = "";
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var Role = xmlDoc.getElementsByTagName(RoleType);
var SubRoles = Role[0].getElementsByTagName("Role");
if (RoleSite == "") {
for (var i = 0; i < SubRoles.length; i++) {
if (SubRoles[i].getAttribute("Name") == RoleName) {
tResult = SubRoles[i].childNodes[0].nodeValue;
break
}
}
} else {
for (var i = 0; i < SubRoles.length; i++) {
if (SubRoles[i].getAttribute("Name") == RoleName && SubRoles[i].getAttribute("Site") == RoleSite) {
tResult = SubRoles[i].childNodes[0].nodeValue;
break
}
}
}
} else {
alert("Problem retrieving XML data-" + xmlhttp.status)
}
}
return tResult
}
function LoadXMLDoc(url) {
xmlhttp = null;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest()
} else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
}
if (xmlhttp != null) {
xmlhttp.open("GET", url, false);
xmlhttp.send("");
return xmlhttp.responseXML
} else {
alert("Your browser does not support XMLHttp.")
}
}