从XML自动生成Java Skeleton类

从XML自动生成Java Skeleton类,java,xml,xsd,xjc,auto-generate,Java,Xml,Xsd,Xjc,Auto Generate,我有一个xml文件,看起来有点像这样: <Model> <Class name=""> <Attribute name="" type =""/> <Attribute\> <Method name="" returnType=""/> </Class> </Model> 我想知道如何从xml生成Java/C++类。我尝试过使用xjc(使用Al

我有一个xml文件,看起来有点像这样:

<Model>
    <Class name="">
        <Attribute name="" type =""/>
        <Attribute\>
        <Method name="" returnType=""/>
    </Class>
</Model>

我想知道如何从xml生成Java/C++类。我尝试过使用xjc(使用AltovaXmlSpy生成模式),但我得到的输出是为每个类、属性和方法创建一个类,而不是将方法和属性放在类中

非常感谢您的帮助。

用于在解析XML时构建类,然后将其输出到文件中。保证编译(如果失败,还会出现有意义的错误!)

Maven依赖项:

       <dependency>
            <groupId>com.sun.codemodel</groupId>
            <artifactId>codemodel</artifactId>
            <version>2.6</version>
       </dependency>

如果从xml生成xsd,则可以使用jaxb或visual studio生成类。这在另一个问题中讨论。请在此处阅读:


使用此代码获取类名和属性名

NodeList stdCol = doc.getElementsByTagName("Model");

      for(int s=0; s<stdCol.getLength() ; s++){
          Element el = (Element)stdCol.item(s);
          NodeList stdClass  = el.getElementsByTagName("Class ");
          for(int k=0; k<stdClass .getLength() ; k++){
              Element mapEntry = (Element)stdClass .item(k);
              NodeList stdAttribute  = mapEntry.getElementsByTagName("Attribute ");
NodeList stdCol=doc.getElementsByTagName(“模型”);

对于(int s=0;SY)您可以编写自己的java代码,您可以使用jaxb读取xml文件并执行一些转换代码,以便将xml文件写入java代码,或者制作一些xsd并使用xjc自动生成
NodeList stdCol = doc.getElementsByTagName("Model");

      for(int s=0; s<stdCol.getLength() ; s++){
          Element el = (Element)stdCol.item(s);
          NodeList stdClass  = el.getElementsByTagName("Class ");
          for(int k=0; k<stdClass .getLength() ; k++){
              Element mapEntry = (Element)stdClass .item(k);
              NodeList stdAttribute  = mapEntry.getElementsByTagName("Attribute ");