完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道,可以更好地对用户的软件使用全周期进行更加专业地服务。
w3schools上官方指南的中文翻译版本。原文的部分已经不适合中文读者,做了一些修改。这个手册对于初学者来说这是一个很不错的入门教程。"锦囊妙技"栏目是聚合全网软件使用的技巧或者软件使用过程中各种问题的解答类文章,栏目设立伊始,小编欢迎各路软件大神朋友们踊跃投稿,在完美者平台分享大家的独门技巧。
本站文章素材来源于网络,大部分文章作者名称佚失,为了更利于用户阅读和使用,根据需要进行了重新排版和部分改编,本站收录文章只是以帮助用户解决实际问题为目的,如有版权问题请联系小编修改或删除,谢谢合作。
软件大小:171.47 KB
现象:Tomcat启动时,spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 47; cvc-elt.1: 找不到元素 'beans' 的声明r的异常信息。 造 成该异常原因:配置文件头部配置的xsd版本信息不正确,造成解析时出错。spring头部xsd或dtd校验文件的查找分两步,第一先从本地jar包中 找,如果找到则用本地jar包的进行校验(可以在spring-beans.jar或spring-context.jar里的META-INF下的 spring-schemas文件中找到xsd文件位置的定义),如果没有找到则进行第二步查找,它会尝试从网络中下载该文件然后校验,如果系统断网或下载不下来,则会抛出上述异常. 解决办法 : 将applicationContext.xml中xsd文件定义的版本改为spring jar包中定义的xsd的版本,如果版本定义的太高在本地会无法找到,只能从网络上下载。 我用的是spring 3.2.2 版本高,无法加载,你可以用spring 3.0试试
网页编程有很多方面的书,有JSP、ASP.NET、PHP等语言,看想从哪门语言入手呢?另外你不需要去书店买啊,当当网、卓越网、京东商城都可以购买,货到付款的。而且书价比外面书店便宜,你对比一家最便宜的直接网上就可以购买了。
XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析
/** * ParseXml.java * * @author pgao */ public class ParseXml { /** */ /** * 创建XML文件 * * @author p'etes.dbschenkers.com * @param fileName * @date Jul 10, 2006 3:34:58 PM * @return rtn true or false */ public boolean createXMLFile(String fileName) { boolean rtn = false; // 使用DocumentHelper.createDocument方法建立一个文档实例 Document document = DocumentHelper.createDocument(); // 使用addElement方法方法创建根元素 Element catalogElement = document.addElement("catalog"); // 使用addComment方法方法向catalog元素添加注释 catalogElement.addComment("An XML cataog"); // 使用addProcessInstruction向catalog元素增加处理指令 catalogElement.addProcessingInstruction("target", "text"); // 使用addElement方法向catalog元素添加journal子元素 Element journalElement = catalogElement.addElement("journal"); // 使用addAttribute方法向journal元素添加title和 publisher属性 journalElement.addAttribute("title", "XML Zone"); journalElement.addAttribute("publisher", "Willpower Co"); // 使用addElement方法向journal元素添加article子元素 Element articleElement = journalElement.addElement("article"); // 使用addAttribute方法向article元素添加level和date属性 articleElement.addAttribute("level", "Intermediate"); articleElement.addAttribute("date", "July-2006"); // 使用addElement方法向article元素添加title子元素 Element titleElement = articleElement.addElement("title"); // 使用setText方法设置title子元素的值 titleElement.setText("Dom4j Create XML Schema"); // 使用addElement方法向article元素添加authorElement 子元素 Element authorElement = articleElement.addElement("author"); // 使用addElement方法向author元素添加firstName子元素 Element firstName = authorElement.addElement("fistname"); // 使用setText方法设置firstName子元素的值 firstName.setText("dom4j"); // 使用addElement方法向author元素添加lastname子元素 Element lastName = authorElement.addElement("lastname"); // 使用setText方法设置lastName子元素的值 lastName.setText("exercise"); XMLWriter output; // 输出格式化 OutputFormat format = OutputFormat.createPrettyPrint(); try { output = new XMLWriter(new FileWriter(fileName), format); output.write(document); output.close(); rtn = true; } catch (IOException e) { e.printStackTrace(); } return rtn; } /** */ /** * 修改XML文件 * * @author cnyqiao@hotmail.com * @param fileName * @param newFileName * @date Jul 10, 2006 4:03:33 PM * @return */ @SuppressWarnings("unchecked") public boolean modiXMLFile(String fileName, String newFileName) { boolean rtn = false; SAXReader reader = new SAXReader(); try { Document document = reader.read(new File(fileName)); // 用xpath查找对象 List list = document.selectNodes("/catalog/journal/@title"); Iterator itr = list.iterator(); while (itr.hasNext()) { Attribute attribute = (Attribute) itr.next(); if (attribute.getValue().equals("XML Zone")) { attribute.setText("Modi XML"); } } // 在journal元素中增加date元素 list = document.selectNodes("/catalog/journal"); itr = list.iterator(); if (itr.hasNext()) { Element journalElement = (Element) itr.next(); Element dateElement = journalElement.addElement("date"); dateElement.setText("2016-07-10"); dateElement.addAttribute("type", "Gregorian calendar"); } // 删除title接点 list = document.selectNodes("/catalog/journal/article"); itr = list.iterator(); while (itr.hasNext()) { Element articleElement = (Element) itr.next(); Iterator iter = articleElement.elementIterator("title"); while (iter.hasNext()) { Element titleElement = (Element) iter.next(); if (titleElement.getText().equals("Dom4j Create XML Schema")) { articleElement.remove(titleElement); } } } XMLWriter output; OutputFormat format = OutputFormat.createPrettyPrint(); try { output = new XMLWriter(new FileWriter(newFileName), format); output.write(document); output.close(); rtn = true; } catch (IOException e) { e.printStackTrace(); } } catch (DocumentException e) { e.printStackTrace(); } return rtn; } /** */ /** * @param args */ public static void main(String[] args) { ParseXml parseXml = new ParseXml(); String fileName = "d:\\workspace_gxd\\dom4j.xml";// D:\workspace_gxd String newFileName = "d:\\workspace_gxd\\modi.xml"; if (parseXml.createXMLFile(fileName)) { System.out.println("Create XML File Success"); } if (parseXml.modiXMLFile(fileName, newFileName)) { System.out.println("Modify XML File Success"); } } }