XMLBeans官方demo调试注意事项

阅读更多

问题:给出一个xml文件,利用xmlbeans实现与该xml同schema的xml的读写

 

 

1. 环境:

 1.1 eclipse3.6.2

 1.2 jdk 1.6.0.24

 1.3 xmlbeans-2.5.0

 1.4 Altova XMLSpy 企业版(由大胡子汉化制作)版本2006

 

2. 

  2.1 catalog.xml

 



	
		
Java programming for high-performance numerical computing J. E. Moreira et.al. This is a sample element for journal-1
Dynamically Binding EJBs Using the Java Reflection API Douglas A. Clark This document can be found at http://www.cuj.com/documents/s=8467/cujjsup2010clark/clark.htm

   注意:xmlns="http://xmlbeans.apache.org/samples/catalog" 这个url可以修改,这个会影响后面生成文件的包路径

 

 2.2 获取catalog.xsd

  XMLSpy中操作 ;免费的trang不是很好用(cmd:java -jar trang.jar catalog.xml catalog.xsd)

 




	
		
			
				
			
		
	
	
		
			
				
				
				
			
		
	
	
		
			
				
				
			
		
	
	
		
			
				
			
		
	
	
		
			
				
				
			
		
	
	
		
			
				
			
		
	
	
		
			
				
				
			
		
	

 

3.由schema生成xml读写模块

  3.1  

XMLBeans官方demo调试注意事项_第1张图片

  注意:运行时,这个工程只需xbean.jar;xmlbeanlib下的文件在生成catalog.jar时用到

   3.2 build.xml

   

   注意:xmlbean schema="../schemas" 会自动读取所有schema和xsdconfig,若不是用xsdconfig可直接指定schema文件

3.3 catalog.xsdconfig

 

 


           
  
    com.yan.dev.xmlbeans    	
   

 

 

 注意:uri="http://xmlbeans.apache.org/samples/catalog" 包路径 org.apache.xmlbeans.samples.catalog

   通过xsdconfig把package -〉com.yan.dev.rmi.service,uri也可以省略

  3.4 Test.java

 

 

import java.io.File;
import java.io.IOException;

import org.apache.xmlbeans.XmlException;

import com.yan.dev.xmlbeans.CatalogDocument;
import com.yan.dev.xmlbeans.JournalDocument;

/**
 *  Copyright(c) 2010-2011 Yan.Dev. All Rights Reserved.
 */

/**
 * Comment for Test.java
 * 
 * @author yan.dev
 * 
 * @blog:yan.dev's Blog
 * @version 1.0
 * @time 2011-3-23 下午06:34:05
 */
public class Test {
	public static void main(String[] args) {
		File xmlfile = new File("xml\\catalog.xml");
		try {
			CatalogDocument catdoc = CatalogDocument.Factory.parse(xmlfile);
			JournalDocument.Journal[] journals = catdoc.getCatalog()
					.getJournalArray();
			for (JournalDocument.Journal j : journals)
				System.out.println(j.getArticle());
		} catch (XmlException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}
 

 

注意:JournalDocument.Journal[] journals 是数组,受限于 xs:sequence

 

 

 

 

 

  • XMLBeans官方demo调试注意事项_第2张图片
  • 大小: 30.9 KB
  • 查看图片附件

你可能感兴趣的:(Apache,XML,performance,Blog,J#)