C#多个writeattributestring到xml没有以正确的顺序显示

时间:2015-01-15 22:15:35

标签: c# xml

            xtw.WriteStartElement("cXML");                               
            xtw.WriteAttributeString("payloadID", payloadidstr);
            xtw.WriteAttributeString("timestamp", utctime());
            xtw.WriteAttributeString("version", "1.2.024");

上面的代码工作正常,可以生成xml属性。如果在记事本中打开xml文件,则显示以下正确的字符串。

cXML payloadID =“1392408819113-4172669982087053277@123.456.789.10”timestamp =“2014-02-14T12:13:39-08:00”version =“1.2.024”

但是当在任何浏览器中打开xml文件时,属性顺序会改变,如下所示。

cXML version =“1.2.024”timestamp =“2015-01-15T16:54:48-08:00”payloadID =“150120150454480293-832257153@123.456.789.10”

有人可以告诉我为什么浏览器显示的顺序不正确,或者如何在一个元素下显示多个字符串。

1 个答案:

答案 0 :(得分:2)

XML没有定义属性的排序,因此没有“正确”的顺序 - 兼容的读者/作者可以自由地按照他们喜欢的方式订购。

根据规范section 3.1

  

start-tag或empty-element标记中属性规范的顺序不重要