python-3.x - NETCONF RPC 使用 ncclient,如何删除 XML 命名空间前缀标记 'nc:'?
问题描述
我不认为这是 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>
但是,我的设备(Ericsson Telecom Packet Core 元素)不支持 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: ?
解决方案
您必须向 ncclient 贡献代码才能在 Operations/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
推荐阅读
- r - 如何在循环中处理 R 警告?
- excel - 通过后台查询刷新多个 ODBC 连接
- elasticsearch - 使用 Elasticsearch 搜索部分单词或通配符
- php - 生成数组之间元素的所有组合
- python - 在源文件中无法导入模块,但在 ROOT 中可以导入
- sql - 在 SQL Server 中的一段时间结束后重置序列号
- sql - 这是一个 SQL 非字母数字值吗?
- android - Clang 链接 .so 库 libc++_shared.so
- android - setKeyguardDisabledFeatures(componentName, DevicePolicyManager.KEYGUARD_DISABLE_FEATURES_NONE); 无法在 android-q / Android 10 中运行
- javascript - 如何在异步映射函数上执行递归