`
fackyou200
  • 浏览: 313850 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

java webService XML document String

    博客分类:
  • java
 
阅读更多

在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化的XML Document。这就涉及到XML字符串和Xml Document的转换问题,说白了这是个很简单的问题,本文就各种XML解析器分别列举如下,以方便自己今后查阅。

一、使用最原始的javax.xml.parsers,标准的jdk api

// 字符串转XML
String xmlStr = \"......\";
StringReader sr = new StringReader(xmlStr); 
InputSource is = new InputSource(sr); 
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder=factory.newDocumentBuilder(); 
Document doc = builder.parse(is); 

//XML转字符串
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty(\"encoding\",\"GB23121\");//解决中文问题,试过用GBK不行
ByteArrayOutputStream bos = new ByteArrayOutputStream();
t.transform(new DOMSource(doc), new StreamResult(bos));
String xmlStr = bos.toString();

 这里的XML DOCUMENT为org.w3c.dom.Document

 

二、使用dom4j后程序变得更简单

// 字符串转XML
String xmlStr = \"......\";
Document document = DocumentHelper.parseText(xmlStr);

// XML转字符串 
Document document = ...;
String text = document.asXML();

这里的XML DOCUMENT为org.dom4j.Document

 三、使用JDOM

    JDOM的处理方式和第一种方法处理非常类似

//字符串转XML
String xmlStr = \".....\";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
Document doc = (new SAXBuilder()).build(is);

//XML转字符串
Format format = Format.getPrettyFormat();
format.setEncoding(\"gb2312\");//设置xml文件的字符为gb2312,解决中文问题
XMLOutputter xmlout = new XMLOutputter(format);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(doc,bo);
String xmlStr = bo.toString();

这里的XML DOCUMENT为org.jdom.Document

 

四、JAVASCRIPT中的处理

//字符串转XML
var xmlStr = \".....\";
var xmlDoc = new ActiveXObject(\"Microsoft.XMLDOM\");
xmlDoc.async=false;
xml

Doc.loadXML(xmlStr);
//可以处理这个xmlDoc了
var name = xmlDoc.selectSingleNode(\"/person/name\");
alert(name.text);

//XML转字符串
var xmlDoc = ......;
var xmlStr = xmlDoc.xml

这里的XML DOCUMENT为javascript版的XMLDOM
XML文档是近年来比较流行的结构化文档形式,其主要用途不只适用于开发网页,而且在其他场合也有很广泛的应用.

 

参考资料:
http://course.yhdgn.com/ShowArticle.asp?ArticleID=24274&Page=2

分享到:
评论

相关推荐

    JAVA调用webservice并解析xml

    Java提供了DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等解析器来处理XML。DOM加载整个XML文档到内存,适合小型数据;SAX是事件驱动,只读且不需要全部加载;StAX允许...

    c#操作XML 读取、生成,WEBSERVICE接口

    XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("path_to_your_xml_file.xml"); ``` 读取XML节点值,可以使用`SelectSingleNode`或`SelectNodes`方法,如: ```csharp XmlNode node = xmlDoc....

    C# Webservice返回指定的xml格式

    总结起来,C# WebService返回指定的XML格式需要创建一个返回XML的Web方法,使用`System.Xml.XmlDocument`构建XML结构,然后通过HTTP请求返回。同时,可以结合本地XML文件读取数据,为Web服务提供更复杂的数据源。VS...

    java一键xml转map,一键map转xml工具类

    在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来解析XML文档,然后遍历DOM树,将其节点转化为Map。例如,每个XML元素的标签名作为键,元素的文本内容作为值。如果元素...

    使用WebService的方法返回xml格式的数据

    这通常通过DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等XML解析器完成。DOM加载整个XML文档到内存,适用于小规模数据;SAX和StAX则采用事件驱动,适用于处理大型XML...

    Java开发WebService实例

    private final String FILE_NAME = "d:/counter.xml"; // 初始化日期格式化对象 private final static DateFormat DATE_FORMATTER = DateFormat.getDateTimeInstance(); public WsCounterByWallimn() {} /**...

    java注解webservice学习第一篇

    在Java Web服务(WebService)开发中,注解的应用极大地简化了服务的创建和配置。本文将深入探讨如何使用Java注解来构建Web服务,并结合给出的“lib”压缩包文件,推测可能包含了一些用于支持Web服务的库文件。 ...

    javabean和xml互相转换工具类以及jar包

    这个类可能包含静态方法,如`beanToXml(JavaBean bean)`用于将JavaBean转换为XML字符串,以及`xmlToBean(String xml)`用于将XML字符串反向转换回JavaBean。使用这样的工具类可以使代码更加简洁,提高代码复用性。 ...

    Xml WebService完全实例解析

    public XmlDocument SearchCourse(string courseName) { // 连接数据库,执行查询 // ... // 将查询结果转换为XML文档 XmlDocument resultDoc = new XmlDocument(); // 创建XML节点,填充数据 // ... return ...

    cxf 小案例 java webservice

    【CXF小案例:Java WebService详解】 在Java开发中,Apache CXF是一个非常流行的开源框架,用于构建和消费Web服务。本篇文章将深入探讨如何使用CXF来创建一个简单的Java WebService,并介绍相关的知识点。 一、...

    Java解析调用webservice服务的返回XML串详解

    在Java中,有多种库可以用来解析XML,如DOM(Document Object Model),SAX(Simple API for XML)和JAXB(Java Architecture for XML Binding)。这里我们将使用DOM,因为它易于理解和操作整个XML文档结构。首先,...

    C#调用JAVA的WebService方法[归类].pdf

    public static XmlDocument QuerySoapWebService(string URL, string MethodName, Hashtable Pars) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL); request.Method = "POST"; request....

    json报文与XML互转

    Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new StringReader(xmlString)); XMLConfig config = new XMLConfig(); config.setIgnoreAnnotations(true); JSON json =...

    java调用天气预报webservice

    Document doc = builder.parse(new InputSource(new StringReader(result.toString()))); // 解析XML并获取天气信息 NodeList nodes = doc.getElementsByTagName("temperature"); for (int i = 0; i (); i++) { ...

    webservice客户端以及服务端

    在Java中,我们可以利用JDK自带的JAX-WS(Java API for XML Web Services)来创建Web服务。JAX-WS提供了一种声明式的方式来定义服务接口,并将其实现为SOAP(Simple Object Access Protocol)服务。以下是一个简单的...

    java axis调用第三方webservice程序demo

    这通常可以通过使用JAXB(Java Architecture for XML Binding)或DOM(Document Object Model)等技术实现。同样,从Webservice返回的XML数据也需要解析成Java对象以便进一步处理。 总结,Java Axis提供了调用第三...

    webService客户端传xml请求 直接main方法运行

    在提供的标签"源码 工具"中,源码可能是指实现上述步骤的Java代码,而工具可能指的是如`wsimport`这样的工具,或者可能涉及到处理XML的库,如JAXB(Java Architecture for XML Binding)或DOM(Document Object ...

    Java解析 SAP Webserice接口方式

    WSDL2Java -uri document.wsdl -p com.crm.sap.webservice.feedback ``` - 其中 `-uri` 后跟 WSDL 文件路径,`-p` 后跟生成代码的包名。 #### 二、项目搭建与配置 1. **创建 Java 项目:** - 在 Eclipse 中...

    Java6开发WebService入门

    Java 6中通过JAX-WS(Java API for XML Web Services)来支持WebService开发。JAX-WS提供了一种简便的方式来创建和部署Web服务,它使得开发人员能够轻松地将现有的Java类转换为Web服务接口,并且可以通过简单的注解...

Global site tag (gtag.js) - Google Analytics