使用ncclient的NETCONF RPC,如何删除XML名称空间前缀标记“ nc:”?

时间:2019-09-11 10:52:55

标签: python-3.x netconf

我不认为这是ncclient的问题,但是我找不到关闭xml名称空间前缀标记的选项。

ncclient发送此RPC,

<?xml version="1.0" encoding="UTF-8"?> <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:cdad1414-956b-47e7-8efc-fee92888475c"> <nc:get-config> <nc:source> <nc:running /> </nc:source> </nc:get-config> </nc:rpc>

但是, 我的设备(爱立信电信数据包核心元素)不支持xml名称空间标签, 并期望请求的格式为:

<?xml version="1.0" encoding="UTF-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:cdad1414-956b-47e7-8efc-fee92888475c"> <get-config> <source> <running /> </source> </get-config> </rpc>

如何关闭nc:?

1 个答案:

答案 0 :(得分:0)

您将必须向ncclient捐款,才能在工序/ third_party下为爱立信添加代码。继承RPC类并覆盖_wrap函数来完成这项工作。

https://github.com/ncclient/ncclient/tree/master/ncclient/operations/third_party

https://github.com/ncclient/ncclient/blob/master/ncclient/operations/rpc.py#L309