- 浏览: 119847 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
niezhihong:
Java代码 Contact selContact = (C ...
liferay 日历使用 -
释皇天:
<script language="javas ...
js获得当前日期和昨天日期 -
释皇天:
火狐下可以不???貌似不可以。
js获得当前日期和昨天日期 -
plj123:
今天遇到这个问题了,用outerHTML会报未知运行时错误。 ...
js删除tr -
javaray:
遨豪(大连)科技有限公司自2007年与Liferay,Inc合 ...
liferay 中的经常使用的
package dmx.ams.util; import java.io.IOException; import java.io.StringBufferInputStream; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathFactory; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import dmx.net.transfer.imp.TransferCommand; @SuppressWarnings("deprecation") public class AdiValidate { private String fileUrl; private List<String> assetList = new ArrayList<String>(); private static final Log log = LogFactory.getLog(TransferCommand.class); private final String pacakAssetId_expr = "//ADI/Metadata/AMS"; private final String titleAssetId_expr = "//ADI/Asset/Metadata/AMS"; private final String assetArr_expr = "//ADI/Asset/Asset"; private final String assetId = "Asset_ID"; public AdiValidate(String fileUrl){ this.fileUrl = fileUrl; } /** * validate ADI file assetId is same. * same return false * @return true or false */ public boolean assetIdValidate(){ try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); //factory.setFeature(Constants.FEATURE_SECURE_PROCESSING,false); DocumentBuilder builder = factory.newDocumentBuilder(); builder.setEntityResolver(new EntityResolver(){ public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { return new InputSource(new StringBufferInputStream("")); // return null;//这个的效果仍然是从网络来抓取DTD来验证 } }); log.info("imp adi file url is:"+fileUrl); Document doc = builder.parse(fileUrl); XPathFactory xpathFactory = XPathFactory.newInstance(XPathConstants.DOM_OBJECT_MODEL); XPath xpath= xpathFactory.newXPath(); org.w3c.dom.Node packAms_Node = (org.w3c.dom.Node)xpath.evaluate(pacakAssetId_expr, doc,XPathConstants.NODE); org.w3c.dom.Node titleAms_Node = (org.w3c.dom.Node)xpath.evaluate(titleAssetId_expr, doc,XPathConstants.NODE); log.info("=packAssetId===="+packAms_Node.getAttributes().getNamedItem(assetId).getNodeValue()); log.info("=titleAssetId===="+titleAms_Node.getAttributes().getNamedItem(assetId).getNodeValue()); assetList.add(packAms_Node.getAttributes().getNamedItem(assetId).getNodeValue()); assetList.add(titleAms_Node.getAttributes().getNamedItem(assetId).getNodeValue()); org.w3c.dom.NodeList assetNodeList = (org.w3c.dom.NodeList) xpath.evaluate(assetArr_expr, doc, XPathConstants.NODESET); getAssetIdArr(assetNodeList); System.out.println(assetList.size()); return validateAssetId(assetList); } catch (Exception e) { log.error("validate ADI ERROR !",e); return false; } } private boolean validateAssetId(List<String> assetIdArr) { boolean flag = true; if (assetIdArr !=null && assetIdArr.size()>0) { for (int i=0; i<assetIdArr.size(); i++) { String assetId = assetIdArr.get(i); for (int j=0; j<assetIdArr.size() ;j++) { //System.out.println("---"+j+"----"+assetIdArr.get(j)); if (i!=j && assetId == assetIdArr.get(j)) { flag= false; } } } } return flag; } private List<String> getAssetIdArr(NodeList assetNodeList){ for (int i=0 ;i<assetNodeList.getLength(); i++) { NodeList nodeList = assetNodeList.item(i).getChildNodes(); for(int j=0 ; j< nodeList.getLength(); j++) { if(nodeList.item(j).getNodeName().indexOf("Metadata")>-1) { NodeList nlist = nodeList.item(j).getChildNodes(); for(int n=0; n< nlist.getLength(); n++) { if (nlist.item(n).getNodeName().indexOf("AMS")>-1) { //System.out.println("asset_id=="+nlist.item(n).getAttributes().getNamedItem("Asset_ID").getNodeValue()); assetList.add(nlist.item(n).getAttributes() .getNamedItem(assetId).getNodeValue()); } } } } } return assetList; } public static void main(String[] args){ AdiValidate av = new AdiValidate("E:\\adi.xml"); av.assetIdValidate(); } }
- adi_.rar (2.3 KB)
- 下载次数: 2
发表评论
文章已被作者锁定,不允许评论。
-
spring boot使用遇到的问题
2018-02-09 16:43 0@RestController 和@Controller 使 ... -
jdk local_policy与US_export_policy.jar
2016-07-13 11:38 1311jdk local_policy与US_export_poli ... -
Quartz定时器表达式
2016-07-06 10:36 486Cron 表达式包括以下 7 个字段: 秒,分,小 ... -
zookeeper
2016-07-04 17:24 411Zookeeper 学习笔记 概述 Zookeeper 从 ... -
maven compile not fount tools.jar
2013-06-13 13:11 3823Maven – Fatal error compiling: ... -
spring2.5源码编译
2013-03-28 10:41 1087使用maven 下载编译spring源码需要的jar包,里面有 ... -
linux
2012-11-27 11:01 685linux JDK 下载:http://www.oracle. ... -
java zip工具类
2011-09-27 15:03 1044package com.dmx.recmanager.ac ... -
字符转ASCII码
2011-04-08 16:16 1108public class T { public stati ... -
时间相减
2011-03-15 21:35 1087package test; import java.te ... -
AJAXRPC
2010-11-11 14:13 844javascript 需要调用服务器端方法时使用 -
进制转换
2010-10-08 11:48 0package com.bee.urm; publi ... -
进制转换
2010-07-19 11:30 815转十六进制 public static void mai ... -
Html Parser
2010-02-07 12:46 1130/* * 测试对<table><t ... -
BigDecimal处理数字 “加减”
2010-02-02 14:08 1412BigDecimal a = new BigDecimal ... -
javaMail发送邮件
2009-11-16 17:27 801需要在web-inf/lib/下加上javaMail.jar -
java输出重复的字符和个数
2009-11-09 17:43 0import java.util.*; /* * @fu ... -
任意格式转换为json
2009-10-17 12:07 1344引用转载收藏 import java.beans.Intros ... -
action 返回 xml格式
2009-10-17 11:46 1296import org.dom4j.Document; imp ... -
分页page
2009-09-29 14:19 0<%@ page language="java ...
相关推荐
if(property!=null){ for(int i=0;i();i++){ Node stroke=property.item(i); //if(stroke.getNodeType()==Node.ELEMENT_NODE){ //(7)取得节点的属性值 String strokeOrderID=stroke.getAttributes()....
这段代码读取名为"input.xml"的XML文件,并打印出所有员工节点的相关信息。 2. **SAX解析器**:使用`org.xml.sax.helpers.DefaultHandler`和`org.xml.sax.XMLReader`进行解析。SAX解析器通常适用于处理大型XML文件...
java从xml中读入数据并存入到sqlserver2005数据库中
Java 读取XML文件时,有多种解析器可供选择,分别是SAX、DOM、JDOM和DOM4J。这些解析器各有优缺点,适用于不同的场景。 SAX(Simple API for XML)是一种基于事件驱动的解析器。它在解析XML文件时,会按顺序触发一...
### Java 读取 XML 文件详解 #### 一、引言 在 Java 开发过程中,处理 XML 文件是一项常见的任务。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,被广泛应用于配置文件、数据交换等多种场景。Java ...
在Java编程中,XML(可扩展标记语言)是一种常见的数据交换格式,用于存储和传输结构化数据。XML文件因其灵活性和可读性而被广泛应用于Web服务、配置文件以及数据序列化等领域。本篇文章将深入探讨如何使用Java来...
Java处理带有BOM头的XML文件是一个常见的编程挑战,特别是在使用DOM4J解析XML文档时。BOM(Byte Order Mark)是Unicode字符集中的一个特殊字符,用于标识文本的编码方式。在UTF-16编码中,BOM通常出现在文件的开头,...
Java语言在处理XML文件时,通常使用两种主要的方法:DOM(Document Object Model)和SAX(Simple API for XML)。在本场景中,我们主要关注DOM方法,因为标题和描述提到了“在内存中构造一个DOM树”。DOM允许我们将...
java读写xml文件 public static void main(String arga[]){ String[][] a_fn = new String[10][2]; a_fn = new ReadXmlTemp().ReadTempXml("f:\\temp\\testTemp.xml"); for(int i=0;i;i++){ System.out.print(a_...
在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和传输结构化数据。XML文件具有自解释性,且独立于任何特定程序或硬件平台,这使得它在不同系统间交换数据时非常有用。本篇...
### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...
Java解释XML是从数据库中提取XML数据并对其进行解析和处理的过程,这一过程涉及到Java的XML处理API,如DOM、SAX和StAX等。在Java中,XML被广泛用于存储和交换结构化数据,尤其是在与数据库交互时。下面将详细介绍这...
8. **XML格式化**:使用`Transformer`将DOM树转换为XML字符串,可以设置格式化参数,如缩进、换行,使XML更易读。 9. **关闭资源**:完成XML生成后,记得关闭`ResultSet`、`Statement`和数据库连接,以释放系统资源...
而StAX则允许程序以流式方式处理XML,既可以读也可以写,具有较低的内存占用。 在描述中提到了一个用于操作XML的jar包,这可能是指如JDOM、DOM4J、Apache Commons Digester或Woodstox等第三方库。这些库提供了更高...
本文将深入探讨Java中处理XML的四种常见方法:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。我们将通过具体的代码示例...
StAX允许你流式处理XML,既可读又可写。 例如,使用DOM解析XML: ```java DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder()...
4. **格式化输出**:为了使XML更易读,可以使用`Format`类进行格式化: ```java Format prettyFormat = Format.getPrettyFormat(); XMLOutputter xmlOutput = new XMLOutputter(prettyFormat); ``` 5. **写入...