资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java代码传xml,java导入代码

java如何解析传来的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;

xmlDoc.loadXML(xmlStr);

//可以处理这个xmlDoc了

var name = xmlDoc.selectSingleNode("/person/name");

alert(name.text);

//XML转字符串

var xmlDoc = ......;

var xmlStr = xmlDoc.xml

java xml报文从客户端传到服务端解析的小程序

使用jdom,dom4j等进行解析,还有一个很强大的东西XStream都可以进行XML操作,至于传送,可以放在头部setHeder 如果是对象的话就更简单了使用XMLEncoder java自带的。

XMLEncoder 的实例代码如下:

public static String beanToXml(Object obj)

throws UnsupportedEncodingException {

ByteArrayOutputStream bos = new ByteArrayOutputStream();

XMLEncoder encoder = new XMLEncoder(bos);

encoder.writeObject(obj);

encoder.close();

return bos.toString("UTF-8");

}

public static Object XmlToBean(String xmlParam)

throws UnsupportedEncodingException, DocumentException {

ByteArrayInputStream ios = new ByteArrayInputStream(

xmlParam.getBytes("UTF-8"));

XMLDecoder decoder = new XMLDecoder(ios);

Object obj = decoder.readObject();

return obj;

}

java 怎么接收第三方传过来的xml

如果是网站传过来的,应该是用http协议发过来的,可以使用HttpEntity中的方法(记得好像是response.getEntity()这样用的)来获取消息体,再创建一个xml的实例把消息体里面的xml接收下来就好啦。如果是写接口的话可以写一个接受消息体的方法和一个格式化xml的方法

Java怎么实现wsdl发送xml

步骤如下:

1.下载AXIS2类库,AXIS2是目前java调用webservice的一个主要方法(由于更新较频繁,请自行google该类库的网址)

2.由于是第三方webservice,直接引入AXIS2的包就可以

代码如下:

import java.rmi.RemoteException;

import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import org.apache.axis.encoding.XMLType;

public class webServiceTest {

public String invokeRemoteFuc() {

String endpoint = "";

String result = "no result!";

Service service = new Service();//新建一个service

Call call;

Object[] object = new Object[1];

object[0] = "Dear I miss you";//Object是用来存储方法的参数

try {

call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);// 远程调用路径

call.setOperationName("say");// 调用的方法名

// 设置参数名:

call.addParameter("str1", // 参数名

XMLType.XSD_STRING,// 参数类型:String

ParameterMode.IN);// 参数模式:'IN' or 'OUT'

// 设置返回值类型:

call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String

result = (String) call.invoke(object);// 远程调用

} catch (ServiceException e) {

e.printStackTrace();

} catch (RemoteException e) {

e.printStackTrace();

}

return result;//返回值

}

public static void main(String[] args) {

webServiceTest t = new webServiceTest();

String result = t.invokeRemoteFuc();

System.out.println(result); //输出

}

}

通过AXIS2封装好的类设置URL和参数,直接调用。


名称栏目:java代码传xml,java导入代码
转载注明:http://www.cdkjz.cn/article/dsedjjj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220