我有一个Yang文件,我想以xml格式使用yang模式发送数据,我该怎么做呢?
假设我有如下的yang文件
module jtest {
namespace "jtest";
prefix jtest;
container jtest {
container mycontainer1 {
leaf myleaf1 {
type string;
}
}
container mycontainer2 {
container innercontainer {
leaf myleaf2 {
type string;
}
}
leaf myleaf3 {
type string;
}
}
container mycontainer3 {
leaf myleaf1 {
type string;
}
}
}
}我想按照yang模式以xml格式发送数据,如何序列化yang或将yang转换为xml。
发布于 2018-08-24 20:47:32
假设(根据@predi注释)您可能正在询问如何创建符合YANG模式的XML实例:
我不能100%确定您是指编程方式(代码)还是作为最终用户,以及是否使用OpenDaylight ( ODL ),但以防万一,ODL中的DAEXIM项目将YANG从ODL数据存储导入到JSON,所以您可能对此感兴趣?如果您是最终用户,那么Data Export/Import User Guide可能对您有用。如果您是一名开发人员,那么看一下ExportTask类来了解它是如何编写JSON的-然后您应该能够使用ODL yangtools的XmlCodecFactory,类似于DAEXIM是如何使用JSONCodecFactory而不是JSON来编写XML的。
如果您想将YANG模式本身转换为XML,这就是YIN的用途(但我认为这不是您想要的)。
发布于 2021-02-19 10:52:30
您可以使用pyang从yang文件生成xml文件:
$ pyang -h
Usage: pyang [options] [<filename>...]
-f FORMAT, --format=FORMAT
Convert to FORMAT. Supported formats are: yang, yin,
dsdl, capability, depend, jsonxsl, jstree, jtox, name,
omni, sample-xml-skeleton, tree, uml
Sample-xml-skeleton output specific options:
--sample-xml-skeleton-doctype=DOCTYPE
Type of sample XML document (data or config).
--sample-xml-skeleton-defaults
Insert leafs with defaults values.
--sample-xml-skeleton-annotations
Add annotations as XML comments.
--sample-xml-skeleton-path=SAMPLE_PATH
Subtree to print如下所示:
pyang -f sample-xml-skeleton --sample-xml-skeleton-defaults -o output.xml input.yanghttps://stackoverflow.com/questions/51986376
复制相似问题