Java生成导出xml文件(图文代码说明,拷贝直接可用)

java导入导出xml文件 这是一个java对xml操作的两个类,xml文件的节点都是已知的,都需要提前指定. 立即下载
AI摘要

本文介绍了如何使用Java通过DocumentHelper和DOM4J库快速创建并导出XML文件,包括定义路径、创建文档节点和设置属性的过程,适合初学者参考。

工作中遇到一个导出xml文件的需求,首次接触使用Java生成并导出xml,觉得比导出Excel方便多了,记录一下,方便后续使用。

Java中生成并导出xml文件十分简单,总体步骤分为:

1.定义导出路径

2.创建文档并给文档赋值

3.在指定路径下生成创建的文件

直接上代码:

定义导出路径

String filePath = "E:/"    

创建文档并给文档赋值

生成xml的核心在此,我在这里写了3层作为示范,可以根据书写风格看出:
1.下级节点的创建是在父节点后添加.addElement方法。
2.节点内容使用.addAttribute来添加。
3…addAttribute方法源码中是

Element addAttribute(String var1, String var2);

var1视作key,可写死,var2视作value由自己动态填充
写起来行数虽多,但无需每行描述,可以当做一个工具包来使用,代码如下:

Document document = DocumentHelper.createDocument();
            Element root = document.addElement("这是最外层标题");
                root.addAttribute("Project", "1");
                root.addAttribute("GenerateSys", "1");
            root.addAttribute("Mac", "1");
                Element topElement = root.addElement("这是第二层标题");
                topElement.addAttribute("OrgCode", "2");
                topElement.addAttribute("OrgStandardCode", "2");
                topElement.addAttribute("OrgName", "2");
                topElement.addAttribute("Address", "2");
                    Element areaElement = topElement.addElement("这是第三层标题");
                    areaElement.addAttribute("OrgCode", "2");
                    areaElement.addAttribute("OrgStandardCode", "3");
                    areaElement.addAttribute("OrgName", "3");
                    areaElement.addAttribute("Address", "3");
                    areaElement.addAttribute("OrgLevel", "3");
                    Document doc = updateMacAttributes(document);
            generateXmlFiles(doc, filePath, "生成xml样例.xml"); //传入文档内容,指定地址,文档自定义名称,由此方法最终实现输出
            }

在指定路径下生成xml文件

这用到上面写出的两个方法,也是可以当做工具包来使用,完全不用修改:

private static boolean generateXmlFiles(Document document, String path, String fileName) {
        File filePath = new File(path);
        if (!filePath.exists()) {
            filePath.mkdirs();
        }
        String absoluteFileName = path + File.separator + fileName;
        try {
            FileOutputStream fos = new FileOutputStream(absoluteFileName);
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("UTF-8");
            XMLWriter writer = new XMLWriter(fos, format);
            writer.write(document);
            writer.close();
            fos.close();
            return new File(absoluteFileName).exists();
        } catch (Exception e) {
            e.printStackTrace();
            log.error("生成xml文件失败,文件名={},错误信息={}", absoluteFileName, e);
            throw new ServiceException("生成xml文件失败");
        }
    }
    private static Document updateMacAttributes(Document xmlDocument) {
        // 计算xml文档除了xml节点以及mac、xmlns属性值外所有信息的hash值
        String macStr = XmlUtil.GetAllValues(xmlDocument);
        Element rootElement = xmlDocument.getRootElement();
        Attribute attribute = rootElement.attribute("Mac");
        attribute.setText(macStr);
        return xmlDocument;
    }

上述拆开说明后,再贴一副完整代码**,可以直接拷贝下来使用,直接运行即可:**

public static void main(String[] args) {
        String filePath = "E:/";
            Document document = DocumentHelper.createDocument();
            Element root = document.addElement("这是最外层标题");
                root.addAttribute("Project", "1");
                root.addAttribute("GenerateSys", "1");
            root.addAttribute("Mac", "1");
                Element topElement = root.addElement("这是第二层标题");
                topElement.addAttribute("OrgCode", "2");
                topElement.addAttribute("OrgStandardCode", "2");
                topElement.addAttribute("OrgName", "2");
                topElement.addAttribute("Address", "2");
                    Element areaElement = topElement.addElement("这是第三层标题");
                    areaElement.addAttribute("OrgCode", "2");
                    areaElement.addAttribute("OrgStandardCode", "3");
                    areaElement.addAttribute("OrgName", "3");
                    areaElement.addAttribute("Address", "3");
                    areaElement.addAttribute("OrgLevel", "3");
            Document doc = updateMacAttributes(document);
            generateXmlFiles(doc, filePath, "生成xml样例.xml");
    }
    private static boolean generateXmlFiles(Document document, String path, String fileName) {
        File filePath = new File(path);
        if (!filePath.exists()) {
            filePath.mkdirs();
        }
        String absoluteFileName = path + File.separator + fileName;
        try {
            FileOutputStream fos = new FileOutputStream(absoluteFileName);
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("UTF-8");
            XMLWriter writer = new XMLWriter(fos, format);
            writer.write(document);
            writer.close();
            fos.close();
            return new File(absoluteFileName).exists();
        } catch (Exception e) {
            e.printStackTrace();
            log.error("生成机考xml文件失败,文件名={},错误信息={}", absoluteFileName, e);
            throw new ServiceException("生成机考xml文件失败");
        }
    }
    private static Document updateMacAttributes(Document xmlDocument) {
        // 计算xml文档除了xml节点以及mac、xmlns属性值外所有信息的hash值
        String macStr = XmlUtil.GetAllValues(xmlDocument);
        Element rootElement = xmlDocument.getRootElement();
        Attribute attribute = rootElement.attribute("Mac");
        attribute.setText(macStr);
        return xmlDocument;
    }

运行后的效果,在E盘中可以看到,如图:
在这里插入图片描述
打开效果,层级关系很明显

其中生成xml的XmlUtil这个工具类补充下:


```java

import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;

public class XmlUtil {

	private static String XmlNodeName = "xml";
	private static String MacAttribute = "Mac";
	private static String xmlNameSpacePrefix = "xmlns";

	public static String GetAllValues(Document xmlDocument) {
		ArrayList<String> valueList = new ArrayList<String>();
		Element nodeElement = xmlDocument.getRootElement();
		RecursionGetValues(nodeElement, valueList);
		Collections.sort(valueList);
		// /获取所有的字符串的组合
		StringBuilder builder = new StringBuilder();
		String value = "";
		for (int i = 0; i < valueList.size(); i++) {
			value = valueList.get(i) ;
			builder.append(value.trim()) ;
		}
		String Mac = HashBase64(builder.toString());
		return Mac;
	}

	private static void RecursionGetValues(Element node,
										   ArrayList<String> valueList) {
		// /如果是xml节点不做计算,xml节点为xml规范版本的信息不做计算
		if (node.getName() != null && node.getName().toLowerCase() == XmlNodeName) {
			return;
		}
		if (node.attributes() != null) {
			for (Iterator it = node.attributeIterator(); it.hasNext();) {
				Attribute attribute = (Attribute) it.next();
				if (!attribute.getName().equals(MacAttribute)
						&& !attribute.getName().equals(xmlNameSpacePrefix)) {
					valueList.add(attribute.getText());
				}
			}
		}
		// 递归获取值
		for (Iterator it = node.elementIterator(); it.hasNext();) {
			Element childNode = (Element) it.next();
			RecursionGetValues(childNode, valueList);
		}
		if (node.getText() != null) {
			valueList.add(node.getText());
		}
	}

	public static String HashBase64(String str) {
		String ret = "";
		char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
				'B', 'C', 'D', 'E', 'F' };
		try {
			// Hash算法
			MessageDigest sha = MessageDigest.getInstance("SHA-1");
			sha.update(str.getBytes("utf-8"));
			byte[] sha1 = sha.digest();
			int j = sha1.length;
			char strSha[] = new char[j * 2];
			int k = 0;
			for (int i = 0; i < j; i++) {
				byte byte0 = sha1[i];
				strSha[k++] = hexDigits[byte0 >>> 4 & 0xf];
				strSha[k++] = hexDigits[byte0 & 0xf];
			}
			ret = String.valueOf(strSha);
		} catch (Exception e) {
			System.out.print(e.getMessage());
		}
		return ret;
	}
}



一个简单的xml文件实战记录到此结束了,简单记一下思路以备后面回想,有问题欢迎指出。
java导出excelxml.doc 按照XML格式保存数据(我们可以用EXCEL打开个表格文件,另存为XML格式后可以看到这样的格式) 我们按照XML的格式生成我们要另存的文件,举例如下: <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Center"/> <Borders/> <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/> <Interior/> <NumberFormat/> <Protection/> </Style> </Styles> ................. </Workbook> 上述代码另存为一个xml或是xls文件,通过EXCEL打开,就可以看到直观的效果,其中的worksheet item就是我们所说的SHEET,table是我们的表格数据,只要按照此种格式生成一个文件,就OK了,这种方法比较简单可行,只是在跨行和跨列的计算上不同于HTML的跨行跨列,一定要注意,并且大小写敏感,但是存起来比较方法,能够满足基于页面数据的按照SHEET多次导出,做了个简单的页面表格导成XML TABLE的例子,可以看看效果 立即下载

相关推荐

mpxj解析ms project+生成xml文件

mpxj解析ms project+生成xml文件

java 导出 xml文件(直接复制稍作修改就行)

【代码】java 导出 xml文件(直接复制稍作修改就行)

weixin_48173866的博客 2248

VMware桥接模式实战:用手机热点给Linux虚拟机共享网络(附WiFi适配技巧)

本文详细介绍了在移动办公场景下,如何为VMware中的Linux虚拟机配置桥接模式,以通过手机热点共享网络。文章深入解析了桥接模式在无线环境下的工作原理,提供了从主机端准备、VMware设置到Linux虚拟机内部配置的完整实战步骤,并针对手机热点的特殊性,分享了MTU优化、DNS配置及常见网络问题的诊断与解决方案,帮助用户实现稳定高效的移动虚拟化办公。

2y3u4i5o6p的博客 1196

JAVA生成xml文件

自动生成xml文件

fzt12138的博客 4791

嵌入式Linux网络调试踩坑记:YT8531/YT8521 PHY驱动移植与设备树配置实战

本文深入解析嵌入式Linux系统中YT8531/YT8521 PHY驱动移植与设备树配置的实战经验。从网络不通的常见现象入手,详细介绍了驱动移植关键点、设备树配置详解及常见问题排查技巧,帮助开发者快速解决RGMII接口调试难题,提升嵌入式网络开发效率。

weixin_42525328的博客 445

别再只用GWR了!用Python的mgtwr包搞定时空地理加权回归(GTWR)实战

本文详细介绍了如何使用Python的mgtwr包进行时空地理加权回归(GTWR)实战,突破传统GWR模型的局限。通过核心差异解析、实战全流程演示和进阶技巧,帮助读者掌握GTWR在房价波动、污染物扩散等时空数据分析中的应用,提升模型预测精度。

weixin_30899023的博客 342

mybatis-generator-gui 一键生成entity实体类、mybatis映射xml文件、mapper接口

mybatis-generator-gui 一款 mybatis generator 的图形界面工具 <article class="baidu_pl"> <!--python安装手册开始--> <!--python安装手册...

梦想不会灭 625

ArcGIS:根据DEM数据提取区域水系

利用DEM数据提取区域水系是常见的水文分析应用,为了获取区域的矢量水系数据,我们可以通过ArcGIS对高程DEM数据进行水文分析,为地表水流建立模型,进而获取到该地的水系数据,DEM数据精度越高,获取到的水系数据精度也就越高。以下介绍如何用ArcGIS提供的工具提取水系。

Oruizn的博客 9109

反编译APK获取代码&资源

但是,这种方法,获得的只会是一些.png,或者.jpg这样的位图文件资源,如果是xml类的资源,打开我们会发现是乱码,并且假如我们想看APK程序的Java代码,也是行不通的,因为他们都打被打包到classes.dex文件中!"反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;csdn的客户端竟然不混淆代码...可能是本着开源的精神吧,给我们学习代码吧!好的,就是XML资源到手了是吧!

qq_25502783的博客 1617

哈工大2021年秋季学期数据结构期末试题

因为考完试没有收演草纸,所以题中数据与考试差距不大。选项顺序可能略有差异;选择第5题希尔排序的序列数据是后编的;简答第3题B-树的插入序列顺序可能不同,但是考察的点是一样的。其他题的数据基本可以保证和原题一样。 一、选择题 111.以下代码的时间复杂度是 for(int k=1;k<=n;k++) for(int j=1;j<=n;j++) count++; A.O(n)       B.O(nlogn) &

Castria的博客 4272

windows中如何将已安装的nodejs高版本降级为低版本

第一步:先清空本地安装的node.js版本 1.按健win+R弹出窗口,键盘输入cmd,然后敲回车(或者鼠标直接点击电脑左面最左下角的win窗口图标弹出,输入cmd再点击回车键) 然后进入命令控制行窗口,并输入where node查看之前本地安装的node的路径 2.找到上面找到的路径,将node.exe所在的父目录里面的所有东西都删除 3.为了彻底删除之前安装的node.js,鼠标点击电脑左面最左下角的win窗口图标弹出,输入“控制面板”再点击回车键进入,进入控制面板后,找到所安装的node.js并

weixin_44582077的博客 9万+

idea导入java项目步骤,idea与eclipse项目相互导入的过程(图文教程)

idea项目导出到桌面很简单,直接去项目所在目录考出即可,但是考出的项目往往都特别大,这是因为考出之前 我们不要忘记把idea的输出目录删除每次启动服务器运行idea项目的时候 都会有一个输出目录 默认名字为targetidea项目导入到工程中很简单,打开idea,直接打开目标项目即可有时候打开会出现这种情况src目录不见了 不要着急 maven项目出现问题 首先就要这样更新一下 然后就好了ide...

weixin_39622178的博客 1122

【SigmaStudio】自定义算法组件之源码规范(二)

工作中自定义算法组件一般是dll文件,生成dll文件需要XML文件和DLB文件,记录一下DLB文件代码的编码规范,定义SigmaStudio SHARC算法开发的编码规则,涵盖函数原型、内存管理、接口结构体等关键要求,确保算法模块与SigmaStudio环境兼容

liang_song的博客 1377

SolrCould高可用搜索服务器集群搭建(图文详细)

阶段一:资源准备 SolrCould搭建规划 Zookeeper简介及高可用集群搭建【此步骤不可跳过】 服务器准备【4台服务主机均已配置Tomcat环境】 192.168.44.110 192.168.44.111 192.168.44.112 192.168.44.113 阶段二:SSL免密登录配置 ① 在192.168.44.110上生成秘钥 #生成ssh秘钥 ssh-...

战丶后风!!的博客 6239

基于PyQt5和OpenCV的传统图像分割应用UI程序

主要功能包括:加载和显示图像应用多种图像分割算法调整算法参数保存处理结果。

Henry的博客 473

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java手机通讯录格式转换_魅族手机通讯录Contact.xml备份在flyme上的恢复(Java实现xml转vCard)...

魅族M9买了一年多,系统没动过。直到某一天再也不能打电话发短信了,就换上了最新的flyme系统。然而之前备份了通讯录不能恢复了。研究了一下才发现,之前备份了通讯录是在手机的Backup文件夹下,文件Contact/Contact.xml,而flyme不再支持Contact.xml的恢复。但是flyme支持vCard格式(*.vcf)导入。对于一只程序猿来说,解决这个问题的方法必须是自己写程序。于是...

weixin_36213756的博客 533

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Eclipse安装Hibernate tools插件自动生成代码

hibernate插件安装方法: http://download.jboss.org/jbosside/updates/stable 点击eclipse的help菜单里的“Install New Software”点击“Add”,输入下面的内容,一路“NEXT”即可 hibernate更新网址: http://download.jboss.org/jbo

shuangzhi_linlin的博客 6298

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

idea项目能放入eclipse_idea与eclipse项目相互导入的过程(图文教程)

idea项目导出到桌面很简单,直接去项目所在目录考出即可,但是考出的项目往往都特别大,这是因为考出之前 我们不要忘记把idea的输出目录删除每次启动服务器运行idea项目的时候 都会有一个输出目录 默认名字为targetidea项目导入到工程中很简单,打开idea,直接打开目标项目即可有时候打开会出现这种情况src目录不见了 不要着急 maven项目出现问题 首先就要这样更新一下 然后就好了ide...

weixin_27013291的博客 2327

UMEditor可以如何直接复制word的图文内容到编辑器中?

1.4.2之后官方并没有做功能的改动,1.4.2在word复制这块没有bug,其他版本会出现手动无法转存的情况 本文使用的后台是Java。前端为Jsp(前端都一样,后台如果语言不通得自己做 Base64编码解码) 因为公司业务需要支持IE8 ,网上其实有很多富文本框,效果都很好。 例如www.wangEditor.com 但试了一圈都不支持IE8 。 所以回到Ueditor,由于官方没有维护,新的neuditor 也不知道什么时候能支持word自动转存,只能自己想办法。 如果没有必要,不建议使用.

yjjatqihc的博客 128

HoRain云--反编译APK获取代码&资源

本文介绍了如何反编译APK文件以获取资源与代码,分为四个步骤:1)准备apktool、dex2jar和jd-gui三个工具;2)使用apktool提取图片和XML资源;3)通过dex2jar将classes.dex转换为jar文件;4)用jd-gui查看Java源码。作者强调反编译仅用于学习参考,提醒读者尊重版权,切勿用于非法用途。文章最后预告后续将进入Android UI控件学习章节,并欢迎读者指正交流。全文配有工具下载链接和详细操作截图,适合Android开发初学者实践学习。

sinat_57153473的博客 972

java反编译apk_1.11 反编译APK获取代码&资源

本节引言"反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以下载别人的APK,然后改下后缀名,改成xxx.zip,然后解压:笔者随便解压了一个APK:我们可以打开res目录,获取里面的图片素材...

weixin_42471893的博客 440

xhEditor可以如何直接复制word的图文内容到编辑器中?

1.4.2之后官方并没有做功能的改动,1.4.2在word复制这块没有bug,其他版本会出现手动无法转存的情况 本文使用的后台是Java。前端为Jsp(前端都一样,后台如果语言不通得自己做 Base64编码解码) 因为公司业务需要支持IE8 ,网上其实有很多富文本框,效果都很好。 例如www.wangEditor.com 但试了一圈都不支持IE8 。 所以回到Ueditor,由于官方没有维护,新的neuditor 也不知道什么时候能支持word自动转存,只能自己想办法。 如果没有必要,不建议使用.

yjjatqihc的博客 128

本地图文直接复制到HTML编辑器中

1.4.2之后官方并没有做功能的改动,1.4.2在word复制这块没有bug,其他版本会出现手动无法转存的情况 本文使用的后台是Java。前端为Jsp(前端都一样,后台如果语言不通得自己做 Base64编码解码) 因为公司业务需要支持IE8 ,网上其实有很多富文本框,效果都很好。 例如www.wangEditor.com 但试了一圈都不支持IE8 。 所以回到Ueditor,由于官方没有维护,新的neuditor 也不知道什么时候能支持word自动转存,只能自己想办法。 如果没有必要,不建议使用.

weixin_52041354的博客 260
上一篇: 删除.idea目录后,svn菜单恢复操作
下一篇: 使用Java压缩文件生成各种zip包总结(整理为工具类版)
mmm.c
博客等级 码龄9年 117粉丝 62原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值