紧急求助啊
我在做xml的转换的时候,在本地的机器上能正常运行,但是一放到AIX server上,就报如下的错误
org.apache.xalan.xsltc.TransletException: org.apache.xml.utils.WrappedRuntimeException: The processing instruction target matching "[xX][mM][lL]" is not allowed. 
请注意这里抛出的两个异常是连在一起的,一个是TransletException,另一个是WrappedRuntimeException,我在网上到处都没找到这两个异常在一起的时候,是什么原因造成的。
我在网上查到的相关的信息说是xml文档前面有空格造成的,可是我把xml的内容打印出来的时候,发现前面并没有空格,或者BOM(byte-order-)server上跑的服务器是WebSphere5.1,jdk是1.4.2,用的xml.jar是WebSphere5.1自带的jdk中所含有的。
抛出异常的位置的代码如下:
source = new DOMSource(srcXmlDoc);//srcXmlDoc是需要转换的xml文档,类型是Document
resultXmlDoc = new DOMResult();
Templates translet = getXSLTemplate(xslFile);//此方法获得xsl转换模板
transformer = translet.newTransformer();
transformer.transform(source, resultXmlDoc);//就是这个方法抛出的上述的异常各位大侠帮帮忙吧,我已经被这个异常整的精神崩溃了,现在我怀疑是xml.jar的版本和服务器上的jdk或者其他的什么jar包冲突,大家帮我分析一下吧,如果真的能解决问题,绝不吝惜给分啊。

解决方案 »

  1.   

    没有用过你这种方法装换过xml,我用的是jdom,楼主你看看是不是你文件编码的问题
      

  2.   

    我用的就是jdk里自带的xml.jar包里的转换类啊。如果使用jdom的话,需要什么第三方的jar包么?
      

  3.   

    现在公司的项目工程里使用的都是jdk自带的xml解析类,所以如果改用jdom的话,很麻烦。文件编码的话,都是英文的环境,也会存在编码问题么?怎么才能保持编码一致啊?
      

  4.   

    试一下,是不是xml文件的格式不正确
      

  5.   

    xml的格式已经去掉最前和最后的空格了,而且我用eclipse查看xml的格式,排列的没错啊,至少用eclipse的xml编辑器没报什么错。
    xml文件是自定义的格式,没有用dtd来定义,不过文件的开头是<?xml version="1.0" encoding="utf-8"?>,后面的都是自定义生成的标签什么的了。文件的格式一般都有什么要求啊?标签我检查过了,都是成对儿出现的。