package com.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class GetForeignXML {
public static void main(String[] args) {
proccessOper("<getprefixcountresp> <msgtype>GetPrefixCountResp</msgtype> <count>5392</count> <hret>0</hret></getprefixcountresp>");
}
public static String proccessOper(String xmlStr) {
/**********************发送请求************************/
Document doc = null;
try {
doc = DocumentHelper.parseText(xmlStr);
} catch (DocumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
HttpURLConnection conn = null;
StringBuffer sb = new StringBuffer();
try
{
URL url = new URL("http://localhost:8082/RequestXML/servlet/ForeignServlet");
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setDefaultUseCaches(false);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "text/html");
conn.setRequestProperty("Content-type", "text/html");
conn.setRequestProperty("connection", "close");
OutputStream out = conn.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out));
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GB2312"); //设置XML文档的编码类型
format.setSuppressDeclaration(false);//设置是否打印文档头,即:<?xml version="1.0" encoding="GB2312"?>
format.setIndent(true); //设置是否缩进
format.setIndent(" "); //以空格方式实现缩进
format.setNewlines(true); //设置是否换行
format.setTrimText(true);//删除结点值的首尾空格
XMLWriter writer = new XMLWriter(bw, format);
writer.write(doc);
writer.flush();
writer.close();
bw.close();
out.flush();
out.close();
/************************接收返回数据***************************/
InputStream in = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
char[] mychar = new char[100];
int len = 0;
while ((len = br.read(mychar)) != -1) {
sb.append(new String(mychar));
mychar = new char[100];
}
br.close();
in.close();
/****将返回的数据写入XML文件****/
FileWriter fw = new FileWriter(new File("c:\\MyXML.xml"));
fw.write(sb.toString().trim());
fw.flush();
fw.close();
System.out.println("$$$$$返回结果长度:" + sb.toString().trim().length());
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString().trim();
}
}
分享到:
相关推荐
### JS读取XML文件并获取文件内容 #### 知识点概述 在现代Web开发中,JavaScript(简称JS)常被用于处理各种数据格式,包括XML。XML(可扩展标记语言)是一种常用的标记语言,主要用于结构化数据的存储与传输。...
本篇文章将深入探讨如何使用jQuery来读取XML,并通过实例详细解析相关知识点。 一、jQuery.parseXML()函数 在jQuery中,首先我们需要将XML字符串转换为XML DOM对象。这可以通过使用`jQuery.parseXML()`函数来实现...
4. **读取返回值**:获取响应码并检查是否成功,然后读取响应体。 ```java int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { try(BufferedReader br = new ...
3. **解析XML**:调用`XMLReader.parse()`方法,传入XML文件的URL或输入流,解析器开始读取XML并触发事件处理器中的相应方法。 4. **处理事件**:在事件处理器中,我们可以根据接收到的事件类型来处理XML文档中的...
本主题将深入探讨如何通过编程向URL发送XML数据并接收返回的XML响应,主要涉及Java相关的技术。请确保已安装了Java Development Kit (JDK),这是编写和运行Java程序的基础。 首先,我们要使用HTTP协议来实现这个...
- 使用WebClient或HttpWebRequest类从指定URL获取XML数据。 - WebClient的DownloadString方法可以直接下载XML字符串,然后将其转换为XmlDocument对象。 - HttpWebRequest可以创建一个HTTP请求,通过GetResponse...
### Java远程读取XML文件及SOAP协议应用 #### 核心知识点概述 本文将深入探讨如何在Java中处理XML文件,特别是聚焦于远程读取XML文件的方法与实践,并结合SOAP协议进行具体阐述。 #### 一、Java处理XML文件的基础...
总的来说,通过JavaScript读取XML文件需要异步加载XML数据,然后使用DOM解析XML字符串。在实际项目中,还可以考虑使用jQuery、axios等库来简化XML处理。同时,理解XML和DOM的概念对于JavaScript开发者来说是非常重要...
Flash读取XML文件是通过`URLLoader`加载XML文件,然后使用`XML`类解析数据。加载过程中需要注意监听加载事件,处理成功和错误的情况。在实际项目中,XML常用于动态加载和更新内容,与Flash进行数据交换。如果`cssxml...
本示例将详细介绍如何使用C语言的xml2库来读取XML文件,特别是针对一个具体的例子——web.xml,这是Servlet容器中的一个关键配置文件。 首先,我们需要了解xml2库。xml2是libxml库的一部分,由 GNOME 项目开发,...
如果你使用的是Java后端,可能需要使用`java.net.URL`或Apache HttpClient来发送GET请求获取XML。一旦得到响应,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`来解析XML。解析后的数据...
本篇文章将详细讲解如何在Web环境中读取XML文档,并实现分页显示数据的方法。 首先,我们需要理解XML的基本概念。XML是一种自描述性的语言,它的结构清晰,易于机器解析和人类阅读。XML文档由元素、属性、文本内容...
这个实例将讲解如何使用Ajax来读取XML文件,从而实现无刷新的效果,提高用户体验。 首先,我们需要了解XML(Extensible Markup Language)。XML是一种用于标记数据的语言,它结构清晰、易于解析,并且可以跨平台、...
简单的读取XML:加载部分var myXML:XML = new XML(); var XML_URL:String = "dat.xml"; var myXMLURL:URLRequest = new URLRequest(XML_URL); var myLoader:URLLoader = new URLLoader(myXMLURL);
GetXmlDate类继承自XMLableReader类,这个类能够读取并解析XML格式的数据。 4. 解析XML数据时,GetXmlDate类的readXML方法会被调用,方法内部实现对XML数据的解析逻辑。具体来说,会遍历XML文档节点,找到名称为...
代码片段中的`URL url = this.getClass().getClassLoader().getResource("/")`这一行是获取类加载器的根目录路径。这通常用于确定资源文件(如XML配置文件)的位置。在Java中,资源文件可以被放置在项目的类路径下,...
读取XML节点值,可以使用`SelectSingleNode`或`SelectNodes`方法,如: ```csharp XmlNode node = xmlDoc.SelectSingleNode("//节点路径"); string value = node.InnerText; ``` 2. **C#操作XML:生成** 要...
标题中的“RSS发布(生成XML)”和“读取URL”主要涉及的是RSS(Really Simple Syndication)技术,这是一种网络内容发布的格式,常用于博客、新闻网站等,使得用户可以通过RSS阅读器订阅并获取更新信息。RSS的核心是...
要读取XML文件,我们需要先包含TinyXML库,然后加载XML文件,遍历DOM树(Document Object Model)来获取所需的配置信息,例如数据库的URL、用户名和密码。 以下是使用TinyXML读取XML配置文件的基本步骤: 1. 引入...
在JavaScript中读取XML文件,主要是通过DOM(Document Object Model)接口来实现的。下面我们将深入探讨如何使用JavaScript来处理XML文件。 1. 创建XMLHttpRequest对象 JavaScript中读取XML文件首先需要创建一个...