`
tear
  • 浏览: 60986 次
  • 性别: Icon_minigender_2
  • 来自: 广西
社区版块
存档分类
最新评论

xml解析问题与解决方法

    博客分类:
  • java
阅读更多
最近做信息发布系统遇到了这样的问题:
严重: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/dwr.xml]; nested exception is java.net.ConnectException: Connection timed out: connect
Caused by: java.net.ConnectException: Connection timed out: connect
context initialization failed
XML解析抛异常,DTD文件无法加载,后来GOOGLE之后才明白,XML的解析是必须要通过HTTP或者本地文件加载DTD的,假如机子没连接网络则无法以HTTP加载,于是我尝试着IE访问<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">里的地址:http://getahead.org/dwr/dwr20.dtd,无法打开,难怪说连接加载DTD超时。这是也才突然明白过来为什么自己做的信息发布在学校的机子上一直都运行不起来,出现类似上面的XML解析异常:
org.springframework.beans.factory.BeanDefinitionStore Expleption:
IOException parsingXML document from servletContext resorce [/WEB-INF/web.xml];
nested exception is java.net.UnknownHost Exception:java.sun.com
这是因为学校的机子没连接网络而无法连接web.xml文件中<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  "http://java.sun.com/dtd/web-app_2_3.dtd">里指定的http://java.sun.com/dtd/web-app_2_3.dtd

解决方法:
把HTTP加载换成使用本地DTD文件:首先设法找到所需要的DTD文件,放到某个文件目录下,然后修改XML使之能找到DTD文件,比如我把DTD放到了项目的WebRoot目录下,那么只需要把<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
修改成:
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "dwr20.dtd">

今天在老师的帮助下,机房的管理员允许我以管理员的身份登录学校的机子安装eclipse,tomcat,jdk,不用每次去了机房都要重新安装被清除掉的东西了,而且我的信息发布系统在解决XML解析问题后,终于能在学校的机子上正常的跑起来了,好高兴,非常高兴,纪念一下下

相关参考:
http://java.chinaitlab.com/XMLBeans/34456.html
分享到:
评论
2 楼 yuanstef 2014-11-24  
简直神了,找了好久
1 楼 peterwillcn 2008-10-08  
不错...hey..

相关推荐

    xml解析器(解决XML错误)

    “xml解析器”就是用来解决这类问题的工具,它们读取XML文档并检查其语法和结构是否符合XML规范。安装一个可靠的XML解析器可以帮助开发者识别并修复这些问题,确保XML文件的有效性和可读性。本压缩包提供了两个XML...

    ios-轻松解决xml解析问题.zip

    在iOS开发中,XML...综上所述,解决iOS中的XML解析问题涉及选择合适的解析器,理解和实现解析器的代理方法,以及根据项目需求进行性能优化和错误处理。通过熟练掌握这些技巧,你可以轻松应对各种XML解析任务。

    三种解析XML的方法

    在Java中,有三种主要的XML解析方法:DOM(Document Object Model)、SAX(Simple API for XML)和dom4j。每种方法都有其特点和适用场景,下面将详细阐述这三种解析方法。 1. DOM解析: DOM解析器将整个XML文档加载...

    vtd-xml XML解析工具

    总的来说,VTD-XML是一种强大的XML解析解决方案,它通过独特的VTD技术为开发者提供了更高效、更节省资源的XML处理方式。无论是在大型企业系统还是在小型应用中,VTD-XML都能以其出色的性能和丰富的功能满足各种XML...

    xml_分析器.zip_XML VC_XML 解析_XML解析_vc解析xml_xml解析器

    开发者可能在这里定义了XML解析的相关函数,如解析元素、属性和文本的方法。 3. `ce_xml.sln`:这是一个Visual Studio解决方案文件,用于打开和管理项目,包含了项目的配置和依赖项信息。 4. `www.pudn.com.txt`:这...

    STM32解析XML

    2. **配置内存**:由于STM32F107的内存有限,可能需要调整minixml库的内存分配策略,例如预分配一定大小的内存池来处理XML解析过程中的动态内存需求。 3. **读取XML文件**:使用STM32的文件系统功能读取XML文件内容...

    xml各种解析方法

    ### XML解析方法详解 #### 一、概述 随着互联网技术和数据交换需求的不断增加,XML(Extensible Markup Language,可扩展标记语言)作为一种重要的数据交换格式,被广泛应用于各种场景之中。XML不仅支持自定义标签...

    xml_3rd_fix_XML解析_

    本文将深入探讨“xml_3rd_fix_XML解析”这一主题,旨在分析第三方XML库的使用以及可能遇到的问题,特别是如何进行XML文档的重排。 首先,XML解析是将XML文档转换为程序可以理解的数据结构的过程。这个过程通常分为...

    STM32解析XML完整工程.zip

    2. MiniXML中文文档.pdf:这是Mini-XML库的中文版文档,对于中文使用者来说更便于理解,涵盖了库的使用方法、示例代码和常见问题解答。 3. Mini-XML编程手册.pdf:这是Mini-XML库的编程指南,提供详细的编程指导和...

    java心电图xml解析.zip

    Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换和文档存储等领域。本压缩包“java心电图xml解析....

    SAP解析xml abap解析xml

    ### XML文档的解析与处理 #### 获取参数值 - 通过`SELECT SINGLE`语句从ZBAS00001表中获取了Para结构中的urlStr和wsdlStr字段的值。 - 设置了方法名为`cws_ins_axmt410`。 #### 数据提取 接下来,程序执行了一个...

    weblogic无法解析xml解决办法

    有些情况下,在开发web项目中会遇到weblogic无法解析xml的错误,是因为weblogic在解析xml时是调用自己的方法去解析,会产生一些莫名其妙的错误,我们只要在web-inf下添加weblogic.xml让其让出解析权即可.

    IOS版本XML解析类

    4. **错误处理**:GDataXML在解析过程中会捕获并报告错误,这有助于调试和解决XML解析问题。 5. **内存管理**:GDataXML遵循Objective-C的内存管理规则,使用ARC(Automatic Reference Counting)自动管理内存,...

    解析XML文档 实现树结构实例

    `使用说明.doc`则详细介绍了如何运行和使用这个实例,包括编译步骤、配置注意事项以及可能遇到的问题和解决方法。 总结起来,本实例展示了如何在VC++环境中,借助MSXML组件解析XML文档,并通过递归循环构建树形结构...

    tinyXMl解析XMl文件

    TinyXML是一个开源、轻量级的C++库,专门用于解析和操作XML(eXtensible Markup Language...其源码简洁,易于理解,适合学习XML解析的初学者。不过,如果你需要处理大量或复杂的XML数据,可能需要寻找功能更全面的库。

    xml解析器失败方法

    xml解析器失败时候可以尝试打开开始-运行-cmd 输入命令来进行解决

    XML解析类(TinyXml)

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛应用于软件开发、Web服务和数据...对于更复杂的需求,可能需要考虑使用如pugixml、Xerces-C++或Qt的QXmlStreamReader等更强大的XML解析库。

    XML文件分离与解析

    综上所述,"XML文件分离与解析"涉及了文件操作、XML解析技术和数据处理。通过分离XML文件,我们可以更好地管理大量数据,而解析和提取关键字则有助于我们理解和利用这些数据。在实际应用中,这些技能广泛应用于Web...

    XMLParser(XML解析代码 C++版)

    XMLParser可能是一个封装了TinyXML或其他XML解析库的自定义类,它可能提供了更高级别的接口,使得与XML数据交互更加直观。例如,它可能会有如下的API: - `parseFile(const std::string& filePath)`: 加载并解析XML...

    IO流、Xml解析

    在"8.23总结"这个文件中,可能包含了关于IO流和XML解析的实践案例、最佳实践、常见问题及其解决方案等内容。通过学习这个文件,开发者可以深化对这两部分知识的理解,提升在实际项目中的应用能力。

Global site tag (gtag.js) - Google Analytics