如何将杨转换为xml

时间:2017-12-11 09:51:12

标签: ietf-netmod-yang

我想将yang转换为xml格式。 如果有任何工具,请告诉我。

我尝试使用pyang yin格式,它提供xml格式但不是所需的格式。

生成的xml: 例如:

<container name="password">
      <leaf name="enc-type">
        <type name="enumeration">
          <enum name="clear">

要求格式:

<container>
   <enc-type>
    </en-type>
  </container>

4 个答案:

答案 0 :(得分:0)

YIN format是与YANG本身在同一RFC中定义的YANG模型的标准XML表示。您应该使用它而不是任何内部XML格式。

您想要实现的是YIN(带有container元素)和实例文档(enc-type元素对应于leaf名称)的奇怪混合。我怀疑你的定义是否足以确定你的真实含义,我也怀疑你现有的工具可以直接使用。

我建议坚持YIN,或者,如果绝对必要,为此创建自己的工具。

答案 1 :(得分:0)

在github上有一个项目,可将yang模型转换为xml https://github.com/vhosakot/yang_to_xml 您还可以将xml转换为yang模型。

答案 2 :(得分:0)

您也可以使用pyang。 [https://github.com/mbj4668/pyang][1]

答案 3 :(得分:0)

pyang你可以用,我也有这个需求,我用pyang就够了。

pyang -f sample-xml-skeleton --sample-xml-skeleton-defaults -o output.xml input.yang

pyang 格式帮助:

$ 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