首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xml配置ASR9K

使用xml配置ASR9K
EN

Network Engineering用户
提问于 2014-04-23 16:31:15
回答 1查看 1.5K关注 0票数 6

我正在使用xml配置静态路由,我有一个关于xml结构的问题。这两种方法都起作用,我想知道它们之间是否有什么区别,还是它们都在做同样的事情。

方法1:使用xml模式

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Request MajorVersion="1" MinorVersion="0">
  <Set>
    <Configuration>
      <RouterStatic MajorVersion="3" MinorVersion="2">
    <DefaultVRF>
      <AddressFamily>
        <VRFIPV4>
          <VRFUnicast>
        <VRFPrefixTable>
          <VRFPrefix>
            <Naming>
              <Prefix>
            <IPV4Address>200.0.0.0</IPV4Address>
              </Prefix>
              <PrefixLength>8</PrefixLength>
            </Naming>
            <VRFRoute>
              <VRFNextHopTable>
            <VRFNextHop>
              <Naming>
                <NextHopAddress>
                  <IPV4Address>192.168.1.2</IPV4Address>
                </NextHopAddress>
              </Naming>
            </VRFNextHop>
              </VRFNextHopTable>
            </VRFRoute>
          </VRFPrefix>
        </VRFPrefixTable>
          </VRFUnicast>
        </VRFIPV4>
      </AddressFamily>
    </DefaultVRF>
      </RouterStatic>
    </Configuration>
  </Set>
  <Commit Mode="Atomic" Label="IPV4_Static_Routes" Comment="IPV4 Static routes config updates"/>
</Request>

方法2:使用CLI封装标记

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Request MajorVersion="1" MinorVersion="0">
    <CLI>
        <Configuration>
                router static
                address-family ipv4 unicast
                200.0.0.0/8 192.168.1.2 
            </Configuration>
    </CLI>  
    <Commit/>
</Request>

在另一个注意事项上,是否有一个工具可以接受CLI命令并将它们转换成xml模式,就像在方法1中一样?

谢谢

EN

回答 1

Network Engineering用户

回答已采纳

发布于 2014-04-29 04:22:42

这两种方法都起作用,我想知道它们之间是否有什么区别,还是它们都在做同样的事情。

它们都是XML文档,而且都有模式。CLI元素只是在内部以某种形式与设备不同的处理方式。

文档提出了重要的部分。两者的区别在于,使用方法2基本上是将命令“传递”给CLI解释器( CLI指令不支持的命令除外),设备上的XML代理将返回来自CLI的响应,CLI再次包装在XML文档中。除了API手册中提到的缺点之外,如果您正在做一些您需要编写脚本来完成的事情,这将是非常低效率的--为此,您肯定需要方法1。不过,它们最终都会做相同的事情。一种是更明确地使用基于模式的元素(数据序列化/解析/存储/检索等更容易),另一种是向CLI传递非序列化格式的响应(可能类似于特定的show命令,由于奇怪的边缘大小写需求而产生了一些疯狂的正则表达式)。

是否有一个工具可以接受CLI命令并将它们转换成xml模式,就像在方法1中一样?

你想解决什么问题?

这个StackOverflow问题提供了一个python库,可以用来实现这个功能(由编写申述的人编写--一个坚实的库),但是IOS可能能够生成从“显示运行”到XML的输出(尝试show run | format),但坦率地说,API指南链接的示例显示了更好/更理想的操作示例,这些示例将更容易地应用于创建自动化(如果这是最终目标)。

票数 4
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/7547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档