javascript,即:带有特殊字符的xml,loadxml(xml)返回false

时间:2010-07-06 09:03:35

标签: javascript internet-explorer grails

我正在向webbrowser发送带有grails的xml文档,并希望显示部分内容。 但是我得到一个错误。 我调试了错误是因为像ü,öa.s.o这样的特殊字符 在Firefox中我没有任何问题,它的工作原理。 但是,Internet Explorer 8不会加载xml。 我看着响应,看到它无法正确地获得ü,öa.s.o。 它得到矩形而不是它......

这是xml文件:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<IOX_Commands>
    <IOX_Device>
            <cmd num="4" name="Delete" value="msg" desc="Meldungen len"/>
        </IOX_Device>
<IOX_Commands>

这是grails部分:

def get_Commands={
    //aus xml datei lesen:conf/IOX_commands.xml
    def file = "/conf/IOX_commands2.xml"
    def xmlfile = new File(file).text
    def xmlrecords = new XmlParser().parseText(xmlfile)
    response.contentType = "text/xml";
    render(xmlfile)
}

这里是javascript部分:

if (window.DOMParser)
               {
                    parser=new DOMParser();
                    msrctl_steuerworte_var.ioxCommands=parser.parseFromString(response.responseText,"text/xml")
               }
               else // Internet Explorer
               {
                    msrctl_steuerworte_var.ioxCommands=new ActiveXObject("Microsoft.XMLDOM");
                    msrctl_steuerworte_var.ioxCommands.async="false";
                    msrctl_steuerworte_var.ioxCommands.load(response.responseText);
               }
//....

当我尝试在http://www.w3schools.com/XML/xml_validator.asp验证xml文件时出现错误。

有人可以说如何解决问题吗? 我已经尝试制作文件和编码UTF-8,但它没有帮助。 我认为它要么是IE配置,要么我必须向grails控制器添加一些内容。

2 个答案:

答案 0 :(得分:0)

  

我已经尝试制作文件和编码UTF-8,但它没有帮助。

但它应该。只需确保将实际内容转换为UTF-8 - 只更改标题将无济于事。

答案 1 :(得分:0)

好吧我想我用以下方法解决了部分问题:

    def get_Commands={ //aus xml datei lesen:
    conf/IOX_commands.xml def file = 
    "/conf/IOX_commands2.xml" def xmlfile = new File(file).text 
    def xmlrecords = new XmlParser().parseText(xmlfile) 
    response.contentType = "text/xml"; 
    render(text:xmlfile,contentType:"text/xml",encoding:"ISO-8859-1")}