Javascript Jquery读取xml块
我阅读了这个XML文件:Javascript Jquery读取xml块,javascript,jquery,xml,Javascript,Jquery,Xml,我阅读了这个XML文件: <?xml version="1.0" encoding="utf-8" ?> <parse version="beta" release='1'> **<env str="p1" open='config' close='end'/> <env str="p2" open='edit' close="next"/>** <open str="config system global" jmp
<?xml version="1.0" encoding="utf-8" ?>
<parse version="beta" release='1'>
**<env str="p1" open='config' close='end'/>
<env str="p2" open='edit' close="next"/>**
<open str="config system global" jmp="1">
<set str="set hostname" nomr="hostname"></set>
</open>
<open str="config system interface" jmp='6'>
<open str="edit" norm="intfisdef" jmp='2'>
<set str="set ip" norm="intfisip"/>
<set str="set alias" norm="intnom"/>
<open str="config secondaryip" jmp='0'>
<open str="edit" norm="intfisindsecdef" jmp='1'>
<set str="set ip" norm="intfisindsecip"/>
</open>
</open>
</open>
</open>
</parse>
当StringaComando
有效时,我调用alertit2
(“配置系统全局”):
输出为
节点名称=env str=p1 cmd=config系统全局
节点名称=env str=p2 cmd=config系统全局
节点名称=打开str=配置系统全局cmd=配置系统全局
找到这个
节点名称=打开str=配置系统接口cmd=配置系统全局
>Node Name=env str=p1 cmd=set access banner disable
节点名称=env str=p2 cmd=设置访问横幅禁用
Node Name=open str=config system global cmd=set access banner
禁用
Node Name=open str=config system interface cmd=set access banner disable
节点名称=env str=p1 cmd=set admin并发启用
节点名称=env str=p2 cmd=set admin并发启用
节点名称=env str=p1 cmd=set admin并发启用
我的问题:
为什么我看到节点:node*Name=env*str=p1 cmd=set access banner disable
其目的是,一旦找到“config system global”(配置系统全局),当满足
StringaComando
上的条件时,使用block中包含的开放集继续解析false
,而不是节点中的节点
通过返回节点
,您将返回一个真正的ish值,表示。each()
循环应继续;返回false
表示不应继续下一项。此“StringaComando”变量来自何处?显然,这就是“设置访问横幅禁用”字符串的存储位置,但为什么呢?
function alertit2(jqueryObject) {
jqueryObject.each(function() {
node = (this);
str = $(node).attr("str");
NodeName = node.nodeName;
console.log("Node Name=" + NodeName + "\nstr=" + str + "\ncmd=" + StringaComando);
if (NodeName == "open" && StringaComando.substr(0, str.length) == str) {
FindOpen++;
alert ("find this");
return node;
}
});
StringaComando = "";
}
if (FindOpen==0)
var Figlio = alertit2($(XML).find('parse').children());
else
alertit2($(Figlio));