- 浏览: 298370 次
- 性别:
- 来自: 上海
最新评论
-
再_见孙悟空:
写的不错
Dialog -
a549262189:
支持下,正好在学习这块的内容!
Android Gesture Detector -
dcsff:
受教了
LayoutInflater -
庆_啊:
真厉害。
LayoutInflater -
ghj234:
学习了,哈哈
LayoutInflater
下面代码用到了jdom和dom4j两个包
public class JDOMXML_1 { public static void main(String[] args) throws IOException, JDOMException { BuildXMLDoc(); } public static void BuildXMLDoc() throws IOException, JDOMException { Element root = new Element("学生花名册"); Document doc = new Document(root); // 根节点添加到文档中; for (int i = 0; i < 2; i++) { Element elements = new Element("学生"); elements.setAttribute("id", String.valueOf(i)); // 给 user 节点添加子节点并赋值 elements.addContent(new Element("姓名").setText("张三")); elements.addContent(new Element("年龄").setText("28")); elements.addContent(new Element("性别").setText("男")); for (int j = 0; j < 2; j++) { Element elements2 = new Element("地址"); elements2.addContent(new Element("浦东").setText("香楠路")); elements2.addContent(new Element("杨浦").setText("大学路")); elements2.addContent(new Element("黄浦").setText("南京西路")); elements.addContent(elements2); } root.addContent(elements); } XMLOutputter xmlOut = new XMLOutputter(); xmlOut.output(doc, new FileOutputStream("D:\\student_4.xml")); } }
public class JDOMXML_2 { public static void main(String[] args) { jDom_DOM_Reader(); jDom_SAX_Reader(); } @SuppressWarnings("unchecked") private static void jDom_DOM_Reader() { DOMBuilder builder = new DOMBuilder(); DOMParser parser = new DOMParser(); String output = ""; try { parser.parse("D:\\student_4.xml"); org.w3c.dom.Document domDocument = parser.getDocument(); org.jdom.Document jdomDocument = builder.build(domDocument); Element root = jdomDocument.getRootElement(); output += "Root Node: " + root.getName() + "\r\n"; List<Element> children = root.getChildren(); output += "SubNodes's Size " + children.size() + "\r\n"; for(int i = 0; i < children.size(); i++){ Element node = children.get(i); output += i + " subNode: " + node.getName() + "\r\n"; List<Attribute> attrs = node.getAttributes(); for(int k = 0; k < attrs.size(); k++){ Attribute attr = attrs.get(k); output += "Attribute: " + attr.getName() + " --> " + attr.getValue() + "\r\n"; } List<Element> childrenList = node.getChildren(); for(int j = 0; j < childrenList.size(); j++){ Element childNode = childrenList.get(j); output += "SubNode: " + childNode.getName() + " --> " + childNode.getValue() + "\r\n"; } } System.out.println(output); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @SuppressWarnings("unchecked") private static void jDom_SAX_Reader() { SAXBuilder builder = new SAXBuilder(); String output = ""; try { org.jdom.Document doc = builder.build("D:\\student_4.xml"); Element root = doc.getRootElement(); List<Element> children = root.getChildren(); output += "id\t" + "姓名\t" + "年龄\t" + "性别\t" + "\r\n"; for(int i = 0; i < children.size(); i++){ Element node = children.get(i); Attribute attr = node.getAttribute("id"); output += attr.getValue() + "\t"; output += node.getChildText("姓名") + "\t"; output += node.getChildText("年龄") + "\t"; output += node.getChildText("性别") + "\r\n"; } System.out.println(output); } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
public class DOMXML_1 { public static void main(String[] args) { try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); document.setXmlVersion("1.0"); // ************************************************************************************** Element root = document.createElement("学生花名册"); // 创建根节点 document.appendChild(root); Element student = document.createElement("学生"); student.setAttribute("姓名", "张三"); root.appendChild(student); Element sex = document.createElement("性别"); sex.setTextContent("男"); student.appendChild(sex); Element age = document.createElement("年龄"); age.setTextContent("25"); student.appendChild(age); Element phone = document.createElement("电话"); phone.setTextContent("55660535|13622654565"); student.appendChild(phone); // ************************************************************************************** student = document.createElement("学生"); student.setAttribute("姓名", "李四"); root.appendChild(student); sex = document.createElement("性别"); sex.setTextContent("女"); student.appendChild(sex); age = document.createElement("年龄"); age.setTextContent("18"); student.appendChild(age); Element addr = document.createElement("地址"); addr.setTextContent("title,publisher,published_calendar"); student.appendChild(addr); // ************************************************************************************** File file = new File("D://student_1.xml"); //生成xml文件 if (!file.exists()) { file.createNewFile(); } FileOutputStream out = new FileOutputStream(file); StreamResult xmlResult = new StreamResult(out); // ************************************************************************************** TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transFormer = transFactory.newTransformer(); DOMSource domSource = new DOMSource(document); transFormer.transform(domSource, xmlResult); //输出xml文件 System.out.println(file.getAbsolutePath()); } catch (Exception e) { e.printStackTrace(); } } }
public class DOMXML_2 { private Vector<StudentBean> student_vector = new Vector<StudentBean>(); public DOMXML_2() { String[] names = {"张三", "李四", "王五"}; String[] sexs = {"男", "女", "男"}; int[] ages = {25, 22, 31}; String[] phones = {"021-55662222", "027-36588814", "010-66452235"}; for (int i = 0; i < phones.length; i++) { StudentBean sb = new StudentBean(); sb.setName(names[i]); sb.setSex(sexs[i]); sb.setAge(ages[i]); sb.setPhone(phones[i]); student_vector.addElement(sb); } } public static void main(String[] args) { DOMXML_2 test = new DOMXML_2(); File file = new File("D://student_2.xml"); try { test.domWrite(file); test.domRead(file); } catch (Exception e) { e.printStackTrace(); } } private void domRead(File inFile) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); org.w3c.dom.Document doc = db.parse(inFile); // 取跟目录 org.w3c.dom.Element root = doc.getDocumentElement(); // 取学生列表元素 NodeList students = root.getElementsByTagName("学生"); for (int i = 0; i < students.getLength(); i++) { // 取学生元素 org.w3c.dom.Element student = (org.w3c.dom.Element) students.item(i); StudentBean studentBean = new StudentBean(); studentBean.setName(student.getAttribute("姓名")); System.out.println("Name = " + studentBean.getName()); NodeList sexs = student.getElementsByTagName("性别"); if (sexs.getLength() == 1) { org.w3c.dom.Element e = (org.w3c.dom.Element) sexs.item(0); org.w3c.dom.Text t = (org.w3c.dom.Text) e.getFirstChild(); studentBean.setSex(t.getNodeValue()); System.out.println("Sex = " + studentBean.getSex()); } NodeList ages = student.getElementsByTagName("年龄"); if (ages.getLength() == 1) { org.w3c.dom.Element e = (org.w3c.dom.Element) ages.item(0); org.w3c.dom.Text t = (org.w3c.dom.Text) e.getFirstChild(); studentBean.setAge(Integer.parseInt(t.getNodeValue())); System.out.println("Age = " + studentBean.getAge()); } NodeList phones = student.getElementsByTagName("电话"); if (phones.getLength() == 1) { org.w3c.dom.Element e = (org.w3c.dom.Element) phones.item(0); org.w3c.dom.Text t = (org.w3c.dom.Text) e.getFirstChild(); studentBean.setPhone(t.getNodeValue()); System.out.println("Phone = " + studentBean.getPhone()); } student_vector.add(studentBean); System.out.println("============================"); } } private void domWrite(File outFile) throws ParserConfigurationException, FileNotFoundException, TransformerException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); org.w3c.dom.Document doc = db.newDocument(); // 建立根元素 org.w3c.dom.Element root = doc.createElement("学生花名册"); // 将根元素添加到文档 doc.appendChild(root); // 取学生信息的Bean列表 for (int i = 0; i < student_vector.size(); i++) { StudentBean studentBean = (StudentBean) student_vector.get(i); org.w3c.dom.Element student = doc.createElement("学生"); student.setAttribute("姓名", studentBean.getName()); root.appendChild(student); org.w3c.dom.Element sex = doc.createElement("性别"); student.appendChild(sex); org.w3c.dom.Text tSex = doc.createTextNode(studentBean.getSex()); sex.appendChild(tSex); org.w3c.dom.Element age = doc.createElement("年龄"); student.appendChild(age); org.w3c.dom.Text tAge = doc.createTextNode(String.valueOf(studentBean.getAge())); age.appendChild(tAge); org.w3c.dom.Element phone = doc.createElement("电话"); student.appendChild(phone); org.w3c.dom.Text tPhone = doc.createTextNode(studentBean.getPhone()); phone.appendChild(tPhone); } FileOutputStream fos = new FileOutputStream(outFile); StreamResult xmlResult = new StreamResult(fos); TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transFormer = transFactory.newTransformer(); DOMSource domSource = new DOMSource(doc); transFormer.transform(domSource, xmlResult); } private class StudentBean { private String sex; private String name; private int age; private String phone; public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } } }
public class XMLEncoder_XMLDecoder { public static void object2XML(Object obj, String path) throws FileNotFoundException { File file = new File(path); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file)); XMLEncoder xmlEncoder = new XMLEncoder(bos); // 构造一个XML编码器 xmlEncoder.writeObject(obj); // 使用XML编码器写对象 xmlEncoder.close(); } public static Object xml2Object(String path) throws FileNotFoundException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path)); XMLDecoder xmlDecoder = new XMLDecoder(bis); // 构造一个XML解码器 Object obj = xmlDecoder.readObject(); // 使用XML解码器读对象 xmlDecoder.close(); return obj; } public static void main(String[] args) throws IOException { // *****User(JavaBean)的定义必须为Public的,否则会报错。That should be STATIC. Any public instance methods have to follow the bean get/set pattern. User user = new User(); user.setName("张三"); user.setAge(29); user.setSex("男"); user.setPhone("15825253636"); String path = "D://student_3.xml"; XMLEncoder_XMLDecoder.object2XML(user, path); User newUser = (User) XMLEncoder_XMLDecoder.xml2Object(path); System.out.println(newUser.getName()); System.out.println(newUser.getAge()); System.out.println(newUser.getSex()); System.out.println(newUser.getPhone()); } }
public class User { private String sex; private String name; private int age; private String phone; public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
22
发表评论
-
线程过多and高效MIDP编程
2010-05-03 17:42 0见附件 -
解压缩
2010-02-02 23:25 1154/* * 非面向对象语言要实现保存工作数据(如一个绘图程序 ... -
回车换行符
2010-01-21 13:52 135811 换行符:另起一行,'\n'10,仅仅把一个长行截断成两 ... -
Thread Pool
2010-01-14 15:27 976public class WorkQueue { p ... -
FileConnection
2010-01-12 15:39 15341. 引言 FileConnection API 是一 ... -
Customized Menu for JavaME
2009-10-10 11:36 1097参考文档: http://www.iteye.com/top ... -
自定义repeat()方法
2009-09-23 17:42 1356j2me的Canvas中有一个repeat()回调方法。大部分 ... -
J2ME移植-键值
2009-09-23 15:07 16521. J2ME标准api中Canvas中定义的键值有17(方向 ... -
kxml doc
2009-09-22 14:55 18931. KXmlParser java.lang.Ob ... -
Http线程阻塞分析
2009-08-23 16:48 4373先做一个总结:Http连接线程发生阻塞,会影响其他线程也出现阻 ... -
jar和jad解释
2009-08-20 23:22 1252整理电脑,从F盘挖坟挖出的股东,也贴出来吧 如果是K- ... -
图片在程序内存中的占有量
2009-08-20 17:58 27181. 图片占内存容量计算公式为: 图片所占内存大小 ... -
如何从网络中获取png图片
2009-08-03 19:54 20431. J2ME // 方法1 Connector conn ... -
cmnet和cmwap的访问
2009-07-30 11:06 2364CMWAP(通过WAP网关代理,由WAP网关连接服务器,然后将 ... -
JSR75 FileConnection Optional Package 使用方法
2009-07-29 17:09 1637package forrest.fcop; imp ... -
mobile日志
2009-07-29 16:05 9851.项目中的实际应用 这个demo用到了JSR75 - ... -
DoubleBuffer 实现
2009-07-29 10:22 1291绘制地图的时候会出现图片断裂,屏幕闪烁等绘图效率问题 ... -
System.getProperty(String key)和MIDlet.getAppProperty(String key)
2009-07-13 17:53 20021. System.getProperty(String ... -
WTK的安全特性
2009-07-01 17:28 10851. MIDlet套件签名的背景 ... -
纳米星开发遇到的一些bug
2009-06-30 17:01 10571.Stream和Connection使用后要关闭 ...
相关推荐
易语言XML解析是编程领域中的一个重要主题,尤其对于使用易语言进行开发的程序员来说,理解并掌握XML(可扩展标记语言)的解析方法是至关重要的。XML作为一种结构化数据存储和交换格式,广泛应用于网络通信、配置...
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
根据给定文件中的标题、描述、标签以及部分内容,可以总结并深入探讨以下关于C#中XML解析的关键知识点: ### C#中的XML解析方式 #### 1. XML Text Reader(流式解析) - **简介**:在.NET框架中,`XMLTextReader`...
在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个强大的图形化编程环境中,XML解析器是处理和操作XML数据的关键工具。本示例主要展示了如何在LabVIEW中实现XML文件的加载、保存和解析。 首先...
本文将详细介绍XML解析文件的两种主要方式:SAX(Simple API for XML)和DOM(Document Object Model)。 **1. DOM解析** DOM解析方式是将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个树的每个...
本文将深入探讨XML解析和生成工具的相关知识,以及如何利用提供的`Markup.cpp`和`Markup.h`文件进行操作。 XML的结构: XML文档由一系列元素构成,每个元素都有一个开始标签和结束标签,如 `<tag>` 和 `</tag>`。...
在Java中,XML解析有四种主要的方法:DOM、SAX、JDOM和DOM4J。 1. DOM(文档对象模型)是W3C推荐的标准,它将XML文档转换为一棵树形结构,允许开发者通过节点遍历和操作XML内容。DOM的优势在于它提供了一种灵活的...
本教程将介绍如何在iOS应用中实现简单的XML解析,并提供了一个名为"UITableViewTricks"的DEMO,供开发者们参考学习。 XML文件结构清晰,易于理解,但在iOS中解析XML数据并非内置功能,需要借助第三方库或者Apple...
MusicXML是一种开放标准的音乐符号交换格式,它允许数字音乐...总之,"MusicXML解析与布局"项目涵盖了XML解析、数据结构设计、图形渲染、音乐理论等多个方面的知识,对于深入理解音乐和计算机科学的结合具有重要意义。
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...
在嵌入式系统中,由于资源限制,往往需要轻量级且高效的XML解析器。"minixml"就是这样一个专为嵌入式系统设计的开源XML解析器,它提供DOM(Document Object Model)支持,使得开发者能够方便地处理XML文档。 mini...
Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换和文档存储等领域。本压缩包“java心电图xml解析....
XML解析支持库则是用于处理XML文档的核心工具,它们帮助开发者有效地读取、解析、创建和操作XML数据。 在Java开发中,常见的XML解析库有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming...
本文将深入探讨XML解析器的工作原理,并通过具体的代码示例帮助你理解和掌握XML解析的基本方法。 XML文档结构由元素、属性、文本内容、注释等构成。元素是XML文档的核心,它们用尖括号包围,如 `<element>`。属性...
《C语言实现的libxml2-2.9.8 XML解析器详解》 XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于网络数据交换、配置文件存储等领域。在IT行业中,C语言由于其高效、灵活的特点,常被用来编写...
XML解析技术是XML应用的核心,它涉及将XML文档转换为可处理的结构化数据。XML,全称为eXtensible Markup Language,是一种元语言,用于描述结构化数据,独立于编程语言、操作系统和传输协议。W3C联盟自1996年开始...
理解和熟练使用XML解析器是任何IT专业人士的必备技能之一,无论是在移动应用、Web服务还是桌面应用程序中,XML解析都发挥着关键作用。了解和掌握TinyXML这样的解析库,可以帮助开发者更高效地处理XML数据。
XML解析器是处理XML文档的核心组件,它能够读取XML文件并将其内容转换为程序可以理解的形式。在Java环境中,XML解析器通常以JAR(Java Archive)文件的形式提供,方便开发者集成到项目中。 "XML解析器下载JAR包"这...
XML解析方式是一种高效且灵活的方法,能够帮助我们实现这一目标。本篇文章将详细探讨如何利用Java和XML解析来自动化创建Word文档。 首先,我们需要了解XML的结构。XML(Extensible Markup Language)是一种标记语言...
4. XML解析技术在Visio图数据交互中的具体应用:本文提出了一种新的方法,它利用成熟的XML解析技术来实现Visio图与应用程序间的数据交互。首先,需要将Visio图转换成XML格式的.vdx文件;其次,设计并实现一个解析...