`
lovelease
  • 浏览: 385979 次
社区版块
存档分类
最新评论

java创建API,通过document生成xml返回给外部

xml 
阅读更多
/**
 * Descriptions DoSomethingAPIサーブレット
 *
 * @version xxxx-xx-xx
 * @author xxxx
 * @since JDK1.6
 *
 */
public class DoSomethingAPI extends HttpServlet {

	private static final long serialVersionUID = -6628892825606366902L;

	protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

    	// リクエストパラメータ取得
    	String uid = request.getParameter( "userid" );
    	
    	// ユーザーステータスマップ取得
    	Map<String, String> userStatusMap = new HashMap<String, String>();
    	try {
    		// 応答用データ取得
    		userStatusMap = UserHelper.getUserStatus( uid );
    	} catch ( Exception e ) {
    		e.printStackTrace();
			response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
			return;
    	}
    	
    	// 応答XML生成
    	String responseString = createResponseXmlString( userStatusMap );
    	
    	if ( responseString == null ) {
			response.sendError( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
			return;
    	}
    	
    	// 応答返却
    	response.setContentType( "text/xml; charset=UTF-8" );
		PrintWriter printWriter = response.getWriter();
		printWriter.print( responseString );
    }

	/*-------------------------------------------------------------------------
    /  メソッド名 : createResponseXmlString
    /------------------------------------------------------------------------*/
    /**
     * アップロード通知応答用のXMLを生成し、文字列として返却します。
     * @return 変換後XML文字列
     * @param responseMap 応答情報Map
     */
	public String createResponseXmlString( Map<String, String> responseMap ) {

		String retString = null;

		// XMLデータ生成
		try {

			Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
			Element responseElement = document.createElement( "result"  );

			String nickname = responseMap.get( "nickname" );
			
			// nickname生成
			Element nicknameElement = document.createElement( "nickname" );
			nicknameElement.appendChild( document.createTextNode( nickname ) );
			responseElement.appendChild( nicknameElement );
			
			Transformer transformer = TransformerFactory.newInstance().newTransformer();
		
			transformer.setOutputProperty( OutputKeys.ENCODING, "UTF-8" );
			transformer.setOutputProperty("version","1.0");
			transformer.setOutputProperty( OutputKeys.INDENT, "yes" );
		
			DOMSource source = new DOMSource( responseElement );
			StringWriter strReturn = new StringWriter();
			transformer.transform( source, new StreamResult( strReturn ) );

			retString = strReturn.toString();

		} catch ( Exception e ) {

			e.printStackTrace();
		}
		return retString;
	}
}
分享到:
评论

相关推荐

    JAVA 生成 XML文件

    在Java编程环境中,生成XML(eXtensible Markup Language)文件是一种常见的任务,尤其是在需要将数据持久化或者与外部系统交换信息时。XML文件结构清晰,易于读写,并且具有良好的跨平台支持。本篇文章将深入探讨...

    Java生成xml(jdom)

    Java生成XML是Java编程中常见的任务,特别是在处理数据序列化或与外部系统交换结构化信息时。本教程将深入探讨如何使用JDOM库在Java中生成XML文档,并且重点介绍如何处理中文字符。 JDOM(Java Document Object ...

    java读取xml文件生成文件

    Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...

    java生成Xml文件

    在Java中生成XML文件是一项常见的任务,尤其是在需要与外部系统交互或存储结构化数据时。本文主要介绍如何使用Java自动生成带有适当缩进格式的XML文件。 #### 一、背景介绍 在使用Java标准库中的XML API(如JAXP)...

    xml在java环境中生成解析

    在实际项目中,生成XML文件通常涉及到构建Document对象,添加Element、Attribute等节点,然后使用Transformer将Document对象转换成XML字符串或直接写入文件。解析XML时,你可以通过解析器读取文件,然后遍历Element...

    java解析xml字符串

    Java提供了多种库来解析和操作XML文档,其中JDOM(Java Document Object Model)是一个广泛使用的开源库,它提供了简单且强大的API来读取、创建和修改XML文档。 ### Java解析XML字符串 在给定的代码示例中,我们...

    java导出excel、xml

    在Java编程环境中,导出Excel和XML是常见的数据交换任务,尤其在数据分析、报表生成以及数据存储方面。这里我们将深入探讨如何使用Java来处理这两种格式。 1. **Java与Excel交互**: - **Apache POI库**:这是Java...

    最新Java API文档(英文版)

    9. **XML处理**:Java提供DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等API处理XML文档,方便解析、生成和操作XML数据。 10. **Swing和AWT**:这两者是Java GUI...

    java生成xml格式文件的方法

    在Java中生成XML格式文件是常见的数据持久化操作,通常用于存储或传输结构化数据。XML(eXtensible Markup ...总的来说,生成XML文件是Java中一种实用的数据存储方式,尤其在需要与外部系统交换数据或保存配置信息时。

    使用JDOM来生成XML文档

    本文将深入探讨如何使用JDOM库来生成XML文档,这是一种纯Java的API,设计用于简化XML处理。 JDOM是一个开源项目,它的全称是Java Document Object Model,它为Java程序员提供了一个方便的方式来创建和操作XML文档。...

    java-caidan-wenjian_xml.doc.rar_doc

    在描述中提到,“无需修改源程序,动态生成菜单”,这暗示了该技术可能是通过外部配置文件(即XML)来控制菜单的结构和行为,而不是硬编码在代码中,这样可以提供更好的灵活性和可维护性。 在IT行业中,XML...

    java生成PDF文件

    在Java编程环境中,生成PDF文件是一项常见的需求,特别是在需要创建报告、发票或任何类型的文档时。iText是一个流行的开源库,专门用于处理PDF文档。在这个主题中,我们将深入探讨如何使用iText在Java中生成PDF文件...

    详解Java解析XML的四种方法

    通过注解和代码生成工具,JAXB可以将XML schema映射到Java类,从而实现自动化的序列化和反序列化。 总结,选择哪种XML解析方法取决于具体的应用场景和需求。如果需要对小型到中型的XML文档进行随机访问和修改,DOM...

    解析menu.xml

    1. **XML解析库**: Java提供了多种解析XML的库,如DOM(Document Object Model)、SAX(Simple API for XML)和DOM4J等。DOM会将整个XML文档加载到内存中,形成一个树形结构,适合小型文件;SAX是事件驱动型解析器,...

    xml学习代码

    - **DOM4J**: 是一个非常流行的Java库,用于处理XML,包括解析、操作和生成XML。 - **Apache Xerces**: 是一个开放源码的XML解析器,支持DOM、SAX和XSLT。 6. **XML在Web服务中的应用** - **SOAP (Simple Object...

    java后台实现pdf下载导出

    3. **渲染模板**:在Java代码中,使用Freemarker API加载并解析模板文件,将数据模型传递给模板,生成HTML字符串。 4. **转换为PDF**:接着,使用iText库将生成的HTML字符串转换为PDF文档。iText提供了一些方法,如...

    Java把html生成pdf (xhtmlrenderer)

    iText是一个开源的Java库,用于处理PDF文档,包括创建、修改和显示PDF。在`ITextTest`中,我们可能会看到如何创建PDF对象,添加文本、图像,以及设置页面布局等操作。 然后,`template.xhtml`是我们的HTML模板文件...

    操作XML方法大全

    - 动态生成XML:可以使用编程语言如Python的ElementTree或Java的JAXB来动态生成XML结构。 3. **XML序列化和反序列化**: - 将对象转换为XML:使用如Java的JAXB或.NET的XmlSerializer将对象实例转化为XML格式。 -...

    Jdom.jar在JAVA中可以对XML文件进行操作,读取或者写入XML

    在Java中,处理XML文件通常需要使用特定的库,而JDOM(Java Document Object Model)就是这样一个库,它提供了一个纯Java的API,允许开发者方便地读取、创建和修改XML文档。 JDOM.jar是JDOM库的实现,它包含了一...

    android生成xml

    总之,在Android中生成XML文件是一个实用的技巧,特别是在需要动态创建配置文件或备份数据时。通过使用StringBuffer,我们可以方便地构建XML字符串,再结合Android的IO操作将其保存到本地。这个过程涉及到字符串处理...

Global site tag (gtag.js) - Google Analytics