javahttpxml
① java如何讀取xml文件
xml解析還是用dom4j方便,
importjava.util.List;
importorg.dom4j.Document;
importorg.dom4j.DocumentException;
importorg.dom4j.Element;
importorg.dom4j.io.SAXReader;
publicclassXMLPaser{
publicstaticvoidmain(String[]args){
paserXML();
}
publicstaticvoidpaserXML(){
SAXReaderreader=newSAXReader();
try{
//讀取XML文件
Documentdoc=reader.read("NewFile.xml");
Elementroot=doc.getRootElement();
System.out.println(root.getName());
List<Element>param=root.elements();
for(Elementelement:param){
if(element.attributeValue("name").equals("a")){
System.out.println(element.getText());
}
}
}catch(DocumentExceptione){
e.printStackTrace();
}
}
}
② http接收xml數據用java怎麼實現呀
用HttpClient接收得到你的xml文件,將文件保存本地
解析xml文件,Dom,Sax都行,也可藉助第三方XStrame解決,
解析對比,將得到的xml與本地xml比較,找出不同,生成文檔
發送給你想發送的人
③ java http請求處理xml流需要全部載入到緩存才能存入資料庫么
不用,讀入流的過程中可以邊載入邊處理,所以叫數據流
④ java程序員面試會問HTTP,HTML,XML,UML,JavaScript,CSS這些內容嗎
UML是建模師負責的內容,問到得機會很少,也不用去掌握太多,HTTP,HTML,XML,JavaScript,CSS 這些只是做網站的一些輔助知識,平時做網站的時候很常用,面試一般不會問,但還是必須要掌握
筆試一般會考你一些語法和你的編程能力
面試一般會問你對一些框架的理解,比如ssh,再有就是讓你談談你做過的項目等等,還有也會問到你的家庭情況,因為涉及到你是否能出差的關系
⑤ 在java中如何實現http/post/xml發送數據報文麻煩高手賜教!
stringBuilder拼接成一個XML字元串。然後調用HTTP類訪問一個SERVLET,(具體HTTP類我記不清楚了。你們應用里如果有人開發過。你可以抄一抄),之後會獲得一個返迴流,這個流就是XML。再使用DOM4J或者JDOM解析。
⑥ java如何實現收取一個HTTP的請求xml文件.根據文件內容作出響應.返回一個xml文件
接收的完整例子
http://www.tutorialspoint.com/jsp/jsp_file_uploading.htm
讀寫 XML
http://..com/q?ct=17&tn=ikaslist&lm=0&rn=10&pn=0&fr=search&word=java+xml&f=sug&rsp=java+xml
⑦ java調用基於http+post+xml介面
1、直接用servlet就可以了,request.getInputStream(),然後解析xml,然後你的業務操作,組裝XML,response.getOutputStream()寫出去就OK了。
但這個性能低,而且還要依賴web容器。
2、socket實現http協議,把HTTP協議好好看看,自己解析(其實就是字元串的操作哦)。
3、你要是只做客戶端的話可以用httpClient,幾行代碼搞定了
⑧ Java實現一個HTTP基於xml的post請求 如何在struts2 action獲取
//用戶名校驗方法
//這個方法是用XMLHTTPRequest對象進行非同步數據交互
var xmlhttp;
function verify(){
//alert(xmlhttp.readyState);
//×××××××××readyState變更0.1.2.3.4
//1.使用dom的方式獲取文本框中的值
//是dom中獲取元素節點的一種方法一個元素節點對應hrml中的一個標簽,如果<input>.value可以獲得一個元素節點的value屬性值
//注意取值.value;否則前台取不到本想取到的值
var userName = document.getElementById("userName").value;
//2.創建xmlhttpRequest對象
//需要針對不同瀏覽器建立不同的代碼
//Window.XMLHttpRequest盡量放置在window.ActiveXObject之前
if(window.XMLHttpRequest){
//針對firefox,mozillar,opera,safari,ie7,ie8
xmlhttp = new XMLHttpRequest();
//修正mozillar瀏覽器的bug語句
if (xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
//針對的是ie6,ie5.5,ie5
//兩個可以用於創建XMLHTTPRequset對象的控制項名稱,保存在一個js的數組中
//排在前面的版本較新
var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for (var i = 0;i<activexName.length;i++){
try{
//取出一個控制項的名進行創建,如果創建成功就停止循環
//如果創建失敗,會拋出異常,然後可以繼續循環,繼續嘗試創建
xmlhttp = new ActiveXObject(activexName[i]);
break;
}catch(e){
}
}
//確認XMLHTTPRequest對象創建成功
}
if (!xmlhttp){
alert("XMLHttpRequest對象創建失敗!!");
return;
}else{
alert("xmlhttp");
}
//2.注冊回調函數
//注冊回調函數時候,只需要函數名,不要加括弧
xmlhttp.onreadystatechange = callback;
////3.設置鏈接信息
////第一個參數表示http的請求方式,支持所有的http請求方式,主要使用個體和post方法
////第二個參數表示請求的url地址,get方式請求的參數也在url中
////第三個參數表示採用非同步還是同步交互方式,true表示非同步
//xmlhttp.open("GET","AJAXXMLServer?name=" + userName,true);
//post請求方式的代碼
xmlhttp.open("POST","AJAXXMLServer",true);
//post方式需要自己設置http請求頭
xmlhttp.setRequestHeader("Content-Tpye","application/x-www-form-urlencoded");
//post方式發送數據
xmlhttp.send("name= " + userName);
////4.發送數據,開始和伺服器端進行交互
////同步方式下,send這句話在伺服器端數據回來後才執行
////非同步方式下,send這句話會立即完成執行
////get方式下的要發送數據都已經在url中了。因此不需要在詞單獨send內容了
//xmlhttp.send(null);
}
//回調函數
function callback(){
//5.接收響應數據
//判斷對象的狀態是交互完成的即為4
if (xmlhttp.readyState == 4){
//判斷http的交互是否成功
if (xmlhttp.status == 200){
//使用responseXML的方式來接受xml數據的dom對象
var domObj = xmlhttp.responseXML;
//<message>是文本信息</message>
//dom利用getElementsByTagName可以根據標簽來獲取元素節點。返回的是一個數組
var messageNodes = domObj.getElementsByTagName("message");
if (messageNodes.length > 0){
//獲取message節點中的文本內容
//註:無效取值用法:::var responseMessage = messageNodes[0].innerHTML;
//首先messaNodes[0]獲取的的是message標簽所獲取的文本信息,即元素節點。
//message標簽中的文本在dom中是message標簽所對應的元素節點的子節點,firstChild可以獲取當前節點的第一個子節點
//通過以下方式就可以獲取到文本內容多對應的節點
var textNode = messageNodes[0].firstChild;
//對於文本節點來說,可以通過nodeValue的方式返迴文本節點的文本內容
var responseMessage = textNode.nodeValue;
alert("-----------------");
//將數據顯示在頁面上
//通過dom的方式找到div標簽所對應的元素節點
var divNode = document.getElementById("result");
//alert(divNode);
//設置元素節點中的html內容
divNode.innerHTML = responseMessage;
}else{
alert("XML數據格式錯誤,原始文本內容為"+ xmlhttp.responseText);
}
}else{
alert("出錯了!");
}
}
}
這樣返回的是一個數據,你看看對你修改成返迴文件有沒有用
⑨ Java Web調http介面發送的XML那種報文怎麼看,我想看我發送的報文格式是否與人家的樣例一樣
其實很多種方法可以看,你可以將報文轉換成string,或者下載一個http監控器,例如fiddler2這樣的工具,可以看到所有請求的數據的,希望深圳遠標培訓中心能幫到你!
⑩ 怎麼用java讀取一個http://。。。。。 .xml並返回json數據啊
可以用httpClient 發起一個 get或者post請求然後得到返回的結果再做json的解析即可
httpClient 用法:
1. GET 方式傳遞參數
//先將參數放入List,再對參數進行URL編碼
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "數據")); //增加參數1
params.add(new BasicNameValuePair("param2", "value2"));//增加參數2
String param = URLEncodedUtils.format(params, "UTF-8");//對參數編碼
String baseUrl = "伺服器介面完整URL";
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);//將URL與參數拼接
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(getMethod); //發起GET請求
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //獲取響應碼
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//獲取伺服器響應內容
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
2. POST方式 方式傳遞參數
//和GET方式一樣,先將參數放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));//增加參數1
params.add(new BasicNameValuePair("param2", "第二個參數"));//增加參數2
try {
HttpPost postMethod = new HttpPost(baseUrl);//創建一個post請求
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中
HttpResponse response = httpClient.execute(postMethod); //執行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //獲取響應碼
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}