- 浏览: 91113 次
- 性别:
- 来自: 鞍山
最新评论
-
mqlfly2008:
这个时钟会不会在页面访问后,客户端调节了时间,从而让时间不准确 ...
js取服务器时间显示时钟 -
chendu135:
这个挺好,可不可以在match()里面判断下一,除了字母或者汉 ...
js获取字符串长度(区分中英文)
//文件1 package com.kelsen.beans.imagehelper; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class ImageToXML { /** * 把图片转成 BASE64Encoder * @param str_FileName * @return */ public static String readImage(String str_FileName) { BufferedInputStream bis = null; byte[] bytes = null; try { try { bis = new BufferedInputStream(new FileInputStream(str_FileName)); bytes = new byte[bis.available()]; bis.read(bytes); } finally { bis.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return new BASE64Encoder().encodeBuffer(bytes); } /** * 把BASE64Decoder转成图片 * @param filename * @param content */ public static void saveImage(String filename, String content) { try { DataOutputStream dos = null; try { byte[] bs = new BASE64Decoder().decodeBuffer(content); dos = new DataOutputStream(new BufferedOutputStream( new FileOutputStream(filename))); dos.write(bs); } finally { dos.close(); } } catch (IOException e) { e.printStackTrace(); } } }
//java文件2 /** * @Title org.w3c.dom XML File Example * @author Kelsen Xu * @Date 2009.2.18 */ package com.kelsen.beans.xmlhelper; import java.io.File; import java.util.Vector; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; public class KParseXML { /******************************** * 指定文件名,获取Document对象 * @param str_FileName * @return ********************************/ public static Document createDocument(String str_FileName){ Document document_result=null; try { DocumentBuilderFactory documentBuilderFactory; DocumentBuilder documentBuilder; documentBuilderFactory=DocumentBuilderFactory.newInstance(); documentBuilder=documentBuilderFactory.newDocumentBuilder(); document_result=documentBuilder.parse(str_FileName); } catch (Exception e) { e.printStackTrace(); } return document_result; } ////////////////////////////////////// ////节点、属性、值 查找部分 ////////////////////////////////////// /************************************* * 指定具体节点,获取标签体内容 * @param doc * @param str_Label * @return *************************************/ public static String getElementFirstChildValueByNodeName(Element element){ String str_result=null; Text text = (Text) element.getFirstChild(); str_result=text.getNodeValue(); return str_result; } /************************************** * 指定节点名,从整个xml文件中找出所有此名的节点的集合 * @param doc * @param str_Label * @param str_Attribute * @param str_Attribute_Value * @return ***************************************/ public static Vector getNodesByNodeName(Document doc,String str_NodeName){ Vector v_result=null; NodeList nl = doc.getElementsByTagName(str_NodeName); System.out.println("【提示】XML文档中有"+nl.getLength()+"个<"+str_NodeName+">标签"); int size=0; Node tempnode; if(nl != null){ size = nl.getLength(); v_result=new Vector(); for(int i=0; i<size; i++) { tempnode= nl.item(i); v_result.add(tempnode); } }else{ return null; } return v_result; } /***************************************************** * 指定具体节点,指定此节点下的其他节点名,找出所有为其名的子节点 * @param node * @param str_Label * @return Vector 的集合 *****************************************************/ public static Vector getNoesByNodeName(Node node,String str_NodeName){ Vector v_result=new Vector(); Node node_temp; NodeList nodelist = node.getChildNodes(); for(int i=0;i<nodelist.getLength();i++){ node_temp=nodelist.item(i); if(node_temp.getNodeName().equals(str_NodeName)) v_result.add(node_temp); } return v_result; } /************************************** * 匹配节点属性名及属性值去获取特定的节点 * @param doc * @param str_Label * @param str_Attribute * @param str_Attribute_Value * @return ***************************************/ public static Node getNodeByAttributesValues(Document doc,String str_Label,String[] stra_Attributes,String[] stra_values){ Node node_result=null; NodeList nl = doc.getElementsByTagName(str_Label); System.out.println("【提示】xml文档中有"+nl.getLength()+"个<"+str_Label+">标签"); int size=0; Node tempnode; String []stra_att=new String[stra_Attributes.length]; if(nl != null) size = nl.getLength(); for(int i=0; i<size; i++) { tempnode= nl.item(i); int i_falg=0; for(int j=0;j<stra_att.length;j++){ stra_att[j]=KParseXML.getAttrValue(tempnode,stra_Attributes[j]); if(stra_att[j].equals(stra_values[j])){ i_falg++; } } if(i_falg==stra_Attributes.length) { System.out.println("【提示】传递的要与指定的标签属性比较的参数都满足条件!"); node_result=tempnode; break; }else{ node_result=null; } } return node_result; } /************************* * 获取某个节点某个属性的值 * @param b * @param attrName * @return *************************/ public static String getAttrValue(Node node,String str_AttrName) { String str_result=null; NamedNodeMap nnm = node.getAttributes(); if(nnm == null) return null; for(int i=0; i<nnm.getLength(); i++) { if(nnm.item(i).getNodeName().equals(str_AttrName)) str_result = nnm.item(i).getNodeValue(); } return str_result; } /////////////////////////// //修改部分 ////////////////////////// /********************************* * 指定节点,指定属性名,修改属性值 * @param node * @param attrName * @param attrValue *********************************/ public static void setAttrValue(Node node,String attrName,String attrValue){ NamedNodeMap attributes = node.getAttributes(); if(attributes !=null) for(int i=0;i<attributes.getLength();i++){ String str_attributes_name = attributes.item(i).getNodeName(); if(str_attributes_name.equals(attrName)) attributes.item(i).setNodeValue(attrValue); } } /****************************** * 指定具体标签,设置其标签体的值 * @param element * @param str_value * @return ******************************/ public static boolean setElementValue(Element element,String str_value){ boolean b_result=true; try{ Node text = element.getFirstChild(); text.setNodeValue(str_value); }catch(Exception e){ b_result=false; e.printStackTrace(); } return b_result; } ///////////////////////////// //文件处理部分 //////////////////////////// /********************************* * 在xml做好修改后,保存xml文件 * @param document * @param filename * @return ********************************/ public static boolean doc2XmlFile(Document document, String filename) { boolean flag = true; try { /** 将document中的内容写入文件中 */ TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); /** 编码 */ // transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312"); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new File(filename)); transformer.transform(source, result); } catch (Exception ex) { flag = false; ex.printStackTrace(); } return flag; } }
//文件3 package com.kelsen.test; import java.net.URL; import java.util.Vector; import org.w3c.dom.Document; import org.w3c.dom.Element; import com.kelsen.beans.imagehelper.ImageToXML; import com.kelsen.beans.xmlhelper.KParseXML; public class XMLTest { public XMLTest(){ //testSetElementValue(); ImageToXMLTest(); ImageToXMLReadImage(); } /** * 把图片文件转成BASE64Encoder存入xml文件中 */ public void ImageToXMLTest(){ URL url_FileName=this.getClass().getClassLoader().getResource("com/kelsen/files/image/kelsen.jpg"); String str_FileName=url_FileName.getFile(); String content = ImageToXML.readImage(str_FileName); testSetElementValue(content); } /** * 从xml文件取得图片的BASE64Encoder内容从而创建本地图片文件 */ public void ImageToXMLReadImage(){ String str_context=readImage(); ImageToXML.saveImage("D:/kkkk.jpg", str_context); } public String readImage(){ URL url_FileName = this.getClass().getClassLoader().getResource("com/kelsen/files/xml/kelsen.xml"); String str_FileName=url_FileName.getFile(); Document document = KParseXML.createDocument(str_FileName); Vector nodes_get = KParseXML.getNodesByNodeName(document, "guilin"); if(nodes_get!=null && nodes_get.size()>0){ Element element=(Element) nodes_get.get(0); return KParseXML.getElementFirstChildValueByNodeName(element); } return null; } /** * 标签体内容修改测试 * */ public void testSetElementValue(String str_context){ URL url_FileName = this.getClass().getClassLoader().getResource("com/kelsen/files/xml/kelsen.xml"); String str_FileName=url_FileName.getFile(); Document document = KParseXML.createDocument(str_FileName); Vector nodes_get = KParseXML.getNodesByNodeName(document, "guilin"); if(nodes_get!=null && nodes_get.size()>0){ Element element=(Element) nodes_get.get(0); KParseXML.setElementValue(element,str_context); } KParseXML.doc2XmlFile(document, str_FileName); System.out.println("End 改完且保存结束!"); } public static void main(String args[]){ new XMLTest(); } }
//文件4 kelsen.xml <?xml version="1.0" encoding="GB2312"?> <china name="中国"> <guangdong name="广东省" description="省级标签"> <guangzhou>广州</guangzhou> <shenzhen>深圳</shenzhen> <shantou>汕头</shantou> </guangdong> <guangxi name="广西省" description="省级标签"> <guilin>桂林</guilin> </guangxi> <hunan name="湖南省" description="省级标签"> <changsha>长沙</changsha> <zhuzhou>株洲</zhuzhou> </hunan> </china>
此文为转载,出处http://hi.baidu.com/kelsen/blog/item/d552f2bfebc26b0d19d81f31.html
发表评论
-
(转)电脑开机报警说明
2011-11-11 10:31 1096电脑开机启动时听到机箱小喇叭发出的各种不同的“嘟”声,其实这是 ... -
(转)win xp启动蓝屏代码说明
2011-11-11 10:11 1230一、0X0000000A 这个蓝屏代码和硬件无关,是驱 ... -
word报错,需要进入安全模式才能启动
2011-03-21 15:04 1102一、问题原因:word只能用安全模式才能打开双击word文件后 ... -
解决软件安装“无法使用此产品的安装源,请确认安装源存在并且你可以访问它”
2011-03-21 15:01 7178有时候,我安装某些软件的时候,会出现以下信息“无法使用此产 ... -
用javascript 判断IE窗口是否打开
2010-10-28 17:38 1472点击父页面上的按钮,打开一个新的页面(子页面),如果子页 ... -
IE与FF兼容在JS方面要注意的一些问题
2010-10-13 09:09 884关于IE、Firefox、Opera页 ... -
将MSSQL中的表数据导出为SQL语句
2010-10-12 16:11 2669drop proc proc_insert go crea ... -
js只能输入数字和小数点
2010-09-21 16:58 10551 第一个输入必须是数字,不能是小数点。例如.111 2 不能 ... -
css控制打印内容样式
2010-08-26 14:01 961<style type="text/css ... -
java读写properties文件(转)
2010-06-22 18:06 723直接代码,注释比较详 ... -
(转)软件界面设计经验
2010-06-12 10:30 866在我的记忆中,很多项 ... -
(转)IDEA快捷键
2010-06-12 10:25 766在使用InelliJ IDEA的过程中,通过查找资料以及一些自 ... -
iframe高度自适应(转载)
2010-05-11 15:52 886正在踌躇的时候发现下面的这段代码,终于得意解决。苦于对js没有 ... -
PHP5.3.2+APACHE2.2
2010-04-27 23:39 897Apache的安装与配置 打开apache官方网站 http ... -
可编辑下拉框
2010-04-07 08:24 1571可编辑的下拉框,由input和select组合成,将slele ... -
EditPlus配置JAVA开发环境
2010-03-24 17:47 1032初学者更适合使用文本编辑软件来学习Java,对Java有一定认 ... -
DIV仿frame框架
2010-03-24 13:50 17282行2列 <!DOCTYPE html PUBLIC & ... -
JS弹出窗口
2010-03-24 11:18 903<!DOCTYPE html PUBLIC " ... -
js分页代码
2010-03-24 10:47 2658<!doctype html public " ... -
div居中的一种方法
2010-03-23 21:32 1100以前用表格布局时设置网页居中非常方便,把表格对齐方式设 ...
相关推荐
在源代码中,可能会看到使用Java的`javax.xml.parsers`和`org.w3c.dom`等库进行DOM解析,或者使用`javax.xml.stream`进行StAX解析。对于SAX解析,可能涉及`org.xml.sax`库和自定义的事件处理器。 通过研究这个...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它在IT行业中...通过DOM解析器,你可以轻松地读取XML文件,对其进行操作,然后将修改后的数据保存回XML文件,从而实现数据的动态管理和交换。
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、配置文件、文档存储等领域。在Java中,处理XML文件是一项常见的任务,无论是读取还是写入XML文档,都有多种方法可供选择。本节将...
2. **解析XML内容**:Java标准库提供了`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类,用于解析XML文件。通过这些API,我们可以读取并处理XML数据,找出我们需要的文本、样式等信息。 3...
总结来说,Android中的XML存储涉及到内存与文件系统的交互,需要理解XML的基本语法,以及Android提供的各种存储API。通过自定义XML存储方式,可以灵活地管理和持久化应用程序的数据。在实际项目中,应根据需求选择...
Java提供了内置的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口来解析XML文档。此外,也可以使用第三方库如JDOM、DOM4J或者FastXML的Jackson XML解析器,它们提供了更方便的API来处理XML...
在XML读取方面,Java提供了`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类来解析XML文档。这些类可以帮助程序将XML文件转换为内存中的对象结构,便于访问和修改数据。当用户打开或保存...
我们使用了一个名为 `colors` 的数组来存储饼图的颜色,另外,我们还定义了一个名为 `initialize` 的方法,该方法用于生成 SVG 文件的头部信息和pies 的 path 部分。 二、JFreeChart 生成 SVG 图表 JFreeChart 是...
图片文件可能是用来辅助理解某些概念或示例,如XML结构图、XPath示例等。 通过这次补考,同学们将进一步掌握XML的核心概念,提升对XML文档的读写、解析和验证能力,为后续的学习和工作打下坚实基础。
XML支持外部资源的引用,如图片、脚本文件等。 **安全性** 在处理XML文档时,需要注意防止注入攻击等安全问题。 **Web服务** XML是Web服务中常用的数据交换格式,因为它能够跨平台传输数据。 **其它标准** ...
docx4j是一款开源的Java库,主要用于创建、读取和修改Microsoft Office Open XML (OOXML) 格式的文档,如.docx、.xlsx和.pptx。这个版本3.3.7提供了对XML和Open Packaging Convention(OPC)格式的支持,使得开发者...
**JDK**(Java Development Kit)是Java编程语言的核心组件,包含了Java运行环境、Java工具集和Java标准库。它是开发和运行Java应用程序的基础。JDK中的主要组件包括: 1. **Java编译器(javac)**:将源代码编译成...
XML(eXtensible Markup Language)是一种用于结构化数据的标记语言,它主要用于存储和传输数据。XML的设计目的是传输和存储数据,而不是显示数据,这与HTML(Hypertext Markup Language)有着明显的区别。XML的名称...
XML(eXtensible Markup Language)是一种用于标记数据的语言,由W3C组织制定,它的设计目的是传输和存储数据,而不是显示数据。在北大青鸟ACCP6.0第三学期Y2的XML公共课中,学生将深入学习XML的基础知识和解析技术...
- `javax.xml.parsers`和`org.w3c.dom`:用于解析和操作XML文档。 以上只是Java工具类中的冰山一角,实际开发中还有更多实用的工具类,如Apache Commons、Google Guava等第三方库,它们为Java开发提供了更为强大和...
Java中的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类用于解析XML文档,`javax.xml.transform.TransformerFactory`和`javax.xml.transform.Transformer`处理XML的转换。 5. **HTTPS**:...
Java的`javax.xml.parsers`和`org.w3c.dom`包提供了处理XML的工具。 5. **数据库操作**:彩信网关可能需要存储和检索用户信息、消息状态等数据,这需要用到数据库。Java的JDBC(Java Database Connectivity)接口...
除了上述核心技术,w3school的文档可能还涵盖了XML(可扩展标记语言)、JSON(JavaScript Object Notation)、Ajax、Bootstrap、Vue.js等前端开发相关的知识,以及服务器端语言如PHP、Python和Java的基础教程。...
第10章 I/O及文件操作 196 实例78 创建文件和目录 196 实例79 查找文件 199 实例80 删除文件夹和文件 201 实例81 文件复制与移动 204 实例82 多种方式读取文件内容 209 实例83 多种方式写文件 213 实例84 ...
3. **解析XML文件**:XML文件可以用Java的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口进行解析。创建`Document`对象,然后使用XPath表达式查询文档中的特定元素,以获取内容和样式信息...