- 浏览: 1231123 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lankk:
lankk 写道事实上,在运行String s1=new St ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
事实上,在运行String s1=new String(&qu ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
同意1楼的说法http://docs.oracle.com/j ...
理解String 及 String.intern() 在实际中的应用 -
raoyutao:
...
jdk 线程池 ThreadPoolExecutor -
hongdanning:
理解了。之前困惑的一些明白了。谢谢分享。
理解String 及 String.intern() 在实际中的应用
import java.util.*; import org.jdom.*; import org.jdom.input.SAXBuilder; import org.jdom.xpath.XPath; public class Sample2 { public static void main(String[] args) throws Exception { SAXBuilder sb = new SAXBuilder(); Document doc = sb.build("sample.xml"); Element root = doc.getRootElement(); List list = XPath.selectNodes(root, "/HD/disk"); for (int i = 0; i > list.size(); i++) { Element disk_element = (Element) list.get(i); String name = disk_element.getAttributeValue("name"); String capacity = ( (Text) XPath.selectSingleNode(disk_element, "//disk[@name='" + name + "']/capacity/text()")).getTextNormalize(); String directories = ( (Text) XPath.selectSingleNode(disk_element, "//disk[@name='" + name + "']/directories/text()")).getTextNormalize(); String files = ( (Text) XPath.selectSingleNode(disk_element, "//disk[@name='" + name + "']/files/text()")).getTextNormalize(); System.out.println("磁盘信息:"); System.out.println("分区盘符:" + name); System.out.println("分区容量:" + capacity); System.out.println("目录数:" + directories); System.out.println("文件数:" + files); System.out.println("-----------------------------------"); } } }
Element root = orders.getChild("allHiss"); List allHiss = root.getChildren();// 客户端传来的所有令的当前次修改的信息 DsoItemList dsoList = this.orderList.getDsoList();// 服务器上的综合令 // 根据当前这次历史信息,把有信息的令的历史更新,以便之后保存 for (Iterator iterator = allHiss.iterator(); iterator.hasNext();) { Element hiss = (Element) iterator.next();// 拿到一条修改信息 String currentUnit = hiss.getAttributeValue("unit"); String currentContent = hiss.getAttributeValue("content"); String uM = hiss.getAttributeValue("uM"); String cM = hiss.getAttributeValue("cM"); String index = hiss.getChildText("index");// 得到这个是票面的第几条令 Element his = hiss.getChild("His");// 拿到实际的修改信息 hiss.removeContent();// 移除与子节点的关联 以便把子节点加到新的父节点上 OprDsoDispatchOrderItem item = (OprDsoDispatchOrderItem) dsoList.get(Integer.parseInt(index) - 1);// 拿到对应index的order String hissString = item.getHiss();// 拿到此order的之前的历史信息 看下是否需要初次创建 if (hissString == null) {// 第一次 创建根节点hiss Element hissE = new Element("Hiss"); hissE.addContent(his); hissE.setAttribute("unit", currentUnit); hissE.setAttribute("content", currentContent); hissE.setAttribute("uM", uM); hissE.setAttribute("cM", cM); item.setHiss(elementToString(hissE, ""));// 把历史信息写入 } else { StringReader sr = new StringReader(hissString);// 把之前的历史信息转换成document InputSource is = new InputSource(sr); Element oldhiss = null; try { oldhiss = (new SAXBuilder()).build(is).getRootElement();// 拿到根节点 // Hiss oldhiss.addContent(his); oldhiss.setAttribute("unit", currentUnit); oldhiss.setAttribute("content", currentContent); if (oldhiss.getAttributeValue("uM").equals("n")) { oldhiss.setAttribute("uM", uM); } if (oldhiss.getAttributeValue("cM").equals("n")) { oldhiss.setAttribute("cM", cM); } item.setHiss(elementToString(oldhiss, "")); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("保存修改历史时出错", e); } } }
// String hissString = orderItem.getHiss();// 拿到之前的历史信息 // if (hissString != null) {// 没有的话不做任何操作 // StringReader sr = new StringReader(hissString);// 把之前的历史信息转换成document // // 以便添加到element对象 // // eleSubTableName上 // InputSource is = new InputSource(sr); // try { // Document doc = (new SAXBuilder()).build(is); // Element oldhiss = doc.getRootElement();// 拿到根节点 Hiss // doc.removeContent();// 移除与子节点的关联 以便把子节点加到新的父节点 // eleSubTableName.addContent(oldhiss);// 添加完毕 // } catch (Exception e) { // e.printStackTrace(); // } // }
for (int i = 0; i < interInfoStack.size(); i++) { Element everyStepDsos=interInfoStack.get(i).getDsos(); everyStepDsos.detach(); logger.info(CommonFunction.writeXML(everyStepDsos)); List children =everyStepDsos.getChildren("DSO"); for (int j = 0; j < children.size(); j++) { Element dso=(Element) children.get(j); dso.detach(); dsos.addContent(dso); } }
发表评论
-
连接池exception GetConnectionTimeoutException get/close not same thread
2015-09-24 14:44 7120环境 hibernate 4.2.0.Final sp ... -
tomcat 7 应用不能访问 及 配置管理界面
2015-09-16 15:26 2746tomcat 7 应用不能访问 及 配置管理界面 ... -
iteye blog 备份
2015-06-01 11:03 1192以前javaeye有博客导出成pdf的功能, 现在这个功能 ... -
jaxb xml 解析出 list对象
2015-03-26 16:29 10614jaxb想直接解析出list对象, 不用在list对象上再去 ... -
jvm notes
2014-12-16 15:19 1689运行时数据区 program counter re ... -
string split 空字符串问题
2014-09-02 15:02 1936String str="123,123,,1 ... -
IntelliJ IDEA keys
2014-05-29 15:35 1187open type Ctrl+N open ... -
POI excel 触发 公式 计算 删除空白行
2013-04-15 12:44 5084用POI api修改excel 表格数据后, 想触发计算公式 ... -
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 异常处理
2013-01-05 14:13 3212引用: http://javaskeleton.blogs ... -
MD5 SHA1 Base64 HmacSHA1
2012-10-26 14:23 2178MD5 SHA1 import java.securi ... -
struts2 jsp 禁止 直接 访问
2011-10-13 14:16 3145想要禁止 struts2 应用中 部分jsp 的 直接访问 ... -
jboss-log4j.xml
2011-09-22 17:42 3171使用 jboss_home/server/default/co ... -
jboss 映射 url 虚拟目录 设置system property
2011-08-31 12:56 2194jboss 4.2.3 在[jboss home ... -
jboss 连接池 scheduler
2011-08-04 19:13 1570将oracle-ds.xml 放到 jboss_home\s ... -
jboss Caused by: LifecycleException: Error initializaing : javax.management.R
2011-08-04 14:55 2313Caused by: LifecycleException: ... -
axis2 spring pojo 集成
2011-04-28 15:28 2491之前写的 http://renxiangzyq.iteye.c ... -
wsdl axis2 spring
2011-04-28 11:12 3310WSDL 文档是利用这些主要的元素来描述某个 web s ... -
apache jboss ssl 配置
2011-03-10 19:37 1599httpd.conf Include "co ... -
cron 表达式
2010-12-13 17:47 1132http://sosuny.iteye.com/blog/46 ... -
资源文件转码
2010-10-27 14:54 1197GBK to utf-8 native2ascii ...
相关推荐
在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath表达式来读取XML文档的节点。 首先,理解XPath的基本语法是非常重要的。XPath表达式由路径表达式组成,...
在IT领域,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,尤其在处理结构化数据时...在实际应用中,结合JDOM与其他工具,如XPath表达式来查询XML数据,可以进一步提高代码的灵活性和效率。
本主题将深入探讨如何使用Java中的JDOM库来实现XPath解析,从而高效地提取XML数据。 JDOM是一个纯Java的XML处理库,它提供了一种简单的方式来构建、修改和读取XML文档。与DOM(Document Object Model)相比,JDOM...
在IT行业中,XML(eXtensible Markup Language)是一种被广泛使用的数据交换格式,尤其在处理结构化数据时。XML文件具有自解释性,使得它容易被人和机器阅读。本篇我们将聚焦于JDOM库,这是一个Java API,专门用于...
JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地创建、修改和处理XML文档。JDOM的核心类包括`Element`、`Attribute`和...
3. **添加XML节点** - 创建新的`Element`对象。 - 将新元素添加到父元素中。 - 输出更新后的`Document`对象。 4. **删除XML节点** - 查找需要删除的元素。 - 使用`removeChild()`方法移除该元素。 - 输出更新...
在"Jdom 精简Demo"中,可能包含了使用JDOM2解析XML的示例代码,展示了如何创建Document对象、使用XPath选取节点以及对XML进行操作。而"项目结构+运行结果.jpg"文件则可能显示了项目的目录结构和运行后的结果,帮助...
JDOM的主要目标是简化XML在Java应用程序中的使用,通过提供一种直接映射到Java对象模型的结构,使得开发者能够更直观地处理XML数据。 XML(Extensible Markup Language)是一种标记语言,广泛用于数据交换、配置...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它...在实际开发中,根据具体需求,你可以结合JDOM提供的各种方法进行XML文档的读取、修改和创建,以实现灵活的数据处理。
在Java开发中,使用DOM4J或其他类似库(如JDOM、XMLBeans等)结合XPath,可以高效地读取、修改XML数据。这些库提供了API,使得开发者能够轻松地将XPath表达式转换为实际的节点操作,从而实现对XML文档内容的动态查询...
同时,DOM4J的XPath支持使得通过表达式查找和修改XML节点变得非常方便。 **JDOM与DOM4J的比较** 1. **性能** 在内存消耗方面,DOM4J由于提供了更多功能,可能会比JDOM消耗更多资源。而SAXBuilder在JDOM中通常用于...
JDOM 是一个用于处理 XML 文档的 Java 库,它提供了高效、便捷的方式来解析、创建和操作 XML 数据。本篇文章将详细介绍如何使用 JDOM 来读取 XML 文件,并通过一个详细的示例代码来帮助理解其基本操作。 首先,我们...
在实际应用中,JDOM可以结合XPath(通过jaxen.jar实现)来快速定位XML文档中的特定节点,提高开发效率。例如,通过`XPathFactory`创建`XPath`对象,然后调用`compile()`方法编译XPath表达式,最后使用`evaluate()`...
5. 查询和过滤:JDOM还提供了XPath支持,通过`XPathFactory`和`XPath`对象可以查询XML文档中的特定节点。例如,获取所有名为`item`的元素: ```java import org.jdom2.xpath.XPathFactory; import org.jdom2.xpath....
例如,你可以创建一个`Blacklist`类,将黑名单数据读取到内存,然后使用JDOM将其转换为XML结构。 总之,JDOM是一个强大的工具,适合Java开发者用来生成和操作XML文档。它简化了XML处理过程,使你能够更专注于业务...
在实际开发中,JDOM通常与XPath(XML Path Language)结合使用,XPath允许你通过路径表达式来定位XML文档中的特定节点,这极大地增强了查找和操作XML数据的能力。例如,使用JDOM的XPath支持(需要添加额外的XPath库...
**正文** XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它在IT领域中广泛应用于数据交换、配置文件...在实际项目中,结合JDOM和其他Java库,如XPath或XSLT,可以实现更复杂的XML处理任务。
XPath是XML的一个重要组成部分,它提供了一种定位XML文档中节点的简洁而强大的方式。本教程将重点讨论如何使用Java库Demo4j与XPath一起工作,以解析XML文件中的路径表达式。 首先,我们需要理解XPath的基本概念。...
此外,JDOM还支持XML Schema和DTD验证,以及XPath表达式来定位XML文档中的特定节点。 然而,JDOM并非没有缺点。它的内存消耗相对较高,因为它会将整个XML文档加载到内存中,这在处理大型XML文件时可能会成为一个...
在实际应用中,如果XML文档较小,且需要频繁查询或修改数据,JDOM可能是更好的选择,因为它的API更加直观,可以快速定位和修改数据。相反,如果XML文件非常大,或者只需要顺序读取数据,SAX则是更优的选择,因为它...