【问题标题】:XML Rendering is different in IE and chrome?IE 和 chrome 中的 XML 渲染有什么不同?
【发布时间】:2015-07-08 16:53:11
【问题描述】:

我正在使用以下方法在浏览器上显示 XML。

string fn="first_name";
        string ln = "last_name";
        string ec="0";
        string desc = "Success";
        string xml = "<response><variables><var name=\"" + fn + "\" expr=\"" + fName + "\" /><var name=\"" + ln + "\" expr=\"" + lName + "\" /></variables><error code=\"" + ec + "\" description =\"" + desc + "\" /></response>";

      //  XmlDocument xmlDoc = new XmlDocument();
      //  xmlDoc.LoadXml(xml); 

        Response.Clear();
        Response.ContentType = "text/xml; charset=utf-8";
        Response.ContentEncoding = Encoding.UTF8;
        Response.Write(xml);
        Response.End();

Chrome 上的结果如下

<response>
<variables>
<var name="first_name" expr="API"/>
<var name="last_name" expr="VCCAudit"/>
</variables>
<error code="0" description="Success"/>
</response>

在 IE 中是以下格式

<?xml version="1.0"?>

-<response>


-<variables>

<var expr="API" name="first_name"/>

<var expr="VCCAudit" name="last_name"/>

</variables>

<error description="Success" code="0"/>

</response>

问题是 Chrome 显示正确的 XML,其中 IE 更改名称和 expr 的顺序,并且在描述和代码顺序更改的错误标记中发生了同样的事情。

请在这方面提供帮助。 谢谢

【问题讨论】:

    标签: asp.net xml google-chrome internet-explorer


    【解决方案1】:

    属性没有特定的顺序。

    "请注意,开始标签中属性规范的顺序或 空元素标签不重要。”

    参考:http://www.w3.org/TR/REC-xml/#sec-starttags

    因此,显示属性的任何一种方式都是正确的。 XML 不会通过重新排序标签中的属性来改变含义。

    如果您希望以任何特定方式显示 XML,则需要自己显示,而不是依赖浏览器中的内置支持来显示 XML。

    【讨论】:

      猜你喜欢
      • 2015-09-03
      • 2012-03-23
      • 2012-11-19
      • 2014-12-16
      • 1970-01-01
      • 2019-12-15
      • 2016-05-16
      • 1970-01-01
      • 2018-05-21
      相关资源
      最近更新 更多