利用jdk XML 转成 xsd 再转成 javaBean

原文地址:攻城狮不是猫

 

第一种方法

首先拿到xml 例如:

通过:http://www.xmlforasp.net/CodeBank/System_Xml_Schema/BuildSchema/BuildXMLSchema.aspx 这个网站在线转成xsd



  
    
      
        
          
            
            
            
            
          
        
        
          
            
              
                
                  
                  
                  
                
              
              
                
                  
                  
                  
                  
                  
                  
                
              
            
          
        
        
          
            
              
                
                  
                  
                  
                
              
              
                
                  
                  
                  
                  
                  
                  
                
              
              
                
                  
                    
                      
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        
                      
                    
                  
                
              
            
            
          
        
      
    
  

新增文件保存为 test.xsd 编码utf-16 改成utf-8

cmd 进入到文件下执行:

xjc test.xsd -p test.java

然后就可以看到生成的文件了,  就是这么的简单;

第二种方法

Jaxb

JAXB官网:http://jaxb.java.net/

API链接 :http://jaxb.java.net/nonav/2.2.5/docs/api/

文档    :http://jaxb.java.net/tutorial/   

1. 利用trang.jar将Xml 转换成xsd

 Trang 是一种命令行的可以XML生成XSD的工具,生成XML文件对应的XSD文件只需要3个简单的步骤:

第一步  下载Trang

从http://www.thaiopensource.com/relaxng/trang.html 上下载trang-version.zip

利用trang 生成xsd后, 之后的 动作跟上面一样;

读取xml字符串转成javabean (XXX) 为上面转换的javabean

            Reader reader = new StringReader(reqXmlStr);
            Unmarshaller unmarshaller = JAXBContext.newInstance(XXX.class).createUnmarshaller();
            root = (XXX) unmarshaller.unmarshal(reader);

你可能感兴趣的:(java基础)