更新嵌套 XML 的更好方法
我有几行代码:
lev = arrInfo[1]
xml = sxml;
switch(lev){
case 0: xml = sxml;
break;
case 1: var xl:XML = arrInfo[0];
xml.sublevels = xl;
break;
case 2: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels = xl;
break;
case 3: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels.sublevel.sublevels = xl;
break;
}
在 switch 语句中,它检查 xl XML 应附加到哪个级别的子级别,并根据级别附加它。因此,如果级别为三,则意味着 xl 应替换该级别中的子级别。在情况 3 中:xl 替换(level-1)子级别节点的子级别节点中的子级别,如果我有情况 4:那么 xl 应该替换(4-1)子级别的子级别节点的子级别。这看起来像这样:
case 4: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels.sublevel.sublevels.sublevel.sublevels = xl;
但是,这意味着如果我知道嵌套 XML 中的子级别数量,我必须手动执行此操作,但如果级别为 20 或者有人添加了一个新级别,那么这将是大量工作没有在 switch 语句中手动检查。
有人知道我该如何解决这个问题吗?
I have a few lines of code:
lev = arrInfo[1]
xml = sxml;
switch(lev){
case 0: xml = sxml;
break;
case 1: var xl:XML = arrInfo[0];
xml.sublevels = xl;
break;
case 2: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels = xl;
break;
case 3: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels.sublevel.sublevels = xl;
break;
}
In the switch statement, it checks what level of sublevels the xl XML should be attached to and based on the level, it goes to attach it. So, if level three, that means the xl should substitute the sublevels in that level. In case 3: the xl substitutes the sublevels in the sublevel node of the (level-1) sublevels node and if I have case 4: then the xl should replace the sublevels of the sublevel node of the (4-1) sublevels. That would look something like this:
case 4: xl = arrInfo[0];
xml.sublevels.sublevel.sublevels.sublevel.sublevels.sublevel.sublevels = xl;
However, that means I have to do this manually if I know the number of sublevels in the nested XML, but this will be so much of work if the levels were 20 or someone adds a new level that was not manually checked in the switch statement.
Anyone knows how I can solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论