我读了这个 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="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>
使用此功能:
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 = "";
}
我调用alertit2
何时StringaComando
有效(“配置系统全局”):,
if (FindOpen==0)
var Figlio = alertit2($(XML).find('parse').children());
else
alertit2($(Figlio));
输出是
节点名称=env str=p1 cmd=config 系统全局
节点名称=env str=p2 cmd=config 系统全局
节点名称=open str=config 系统全局 cmd=config 系统全局
找到这个
节点名称=open str=config 系统接口 cmd=config system global
> 节点名称=env str=p1 cmd=set access-banner disable
节点名称=env str=p2 cmd=set access-banner disable
节点名称=open str=config system global cmd=set access-banner disable
节点名称=open str=config 系统接口 cmd=set access-banner disable
节点名称=env str=p1 cmd=set admin-concurrent enable
节点名称=env str=p2 cmd=set admin-concurrent enable
节点名称=env str=p1 cmd=set admin-concurrent enable
我的问题:为什么我看到节点:Node *Name=env* str=p1 cmd=set access-banner disable
?
目的是一旦你找到“配置系统全局”继续解析包含在块中的开放集<open str=config system global...
谢谢