如何以可扩展和可折叠的树形结构显示XML模式

How to display an XML schema in tree structure with expandable and collapsible?

本文关键字:结构 显示 XML 模式 可扩展 可折叠      更新时间:2023-09-26

我想以树的形式显示一个XML模式,我应该能够将其展开、折叠并拖动到外部可丢弃文件上。例如:

            <?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
              <xs:element name="catalog">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="cd">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="title" type="xs:string"/>
                          <xs:element name="artist" type="xs:string"/>
                          <xs:element name="country" type="xs:string"/>
                          <xs:element name="company" type="xs:string"/>
                          <xs:element name="price" type="xs:float"/>
                          <xs:element name="year" type="xs:short"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:schema>

我需要将树节点显示为:

-catalog
 -cd
   title(string)
   artist(string)
   .
   .
   .
   year(short)

所有标有"-"的都是可扩展和可折叠的,并且包含子元素。如何在javascript/jquery中实现这一点?jquery中是否有与此相关的插件?

谢谢大家。

不确定你是否还在寻找答案,但我最近也承担了类似的任务。这可能不是实现你想要的最有效的方式,但以下是我为实现上述目标而采取的步骤。

  1. 从xsd模式创建一个示例xml文件。Oxygen XML编辑器具有这样的功能
  2. 对xslt运行示例xml文件,以生成模式中的每个单独的xpath
  3. 将xpath解析为java对象并转换为JSON格式

这里有一些链接可以帮助你完成任务。。。

在java中表示XPath列表的最佳方式

如何从XML中获取所有叶元素的xpath?

如果你需要其他帮助,请告诉我!