这些XML文档在功能上是否相同?

问题描述 投票:0回答:3

这些在XML模式中是否意味着同一件事?它们会被同样处理吗?

<ns5:Request RequestID="12345">
    <ns5:Details Name="Bob"/>
</ns5:Request>
<ns5:Request>
    <ns5:RequestID>"12345"</ns5:RequestID>
    <ns5:Details>
        <ns5:Name>"Bob"</ns5:Name>
    </ns5:Details>
</ns5:Request>
xml xml-parsing
3个回答
1
投票

第一个XML是属性为基础。第二个XML是基于elements的。因此,它们将需要完全不同的XML模式。


1
投票

简短回答:

更长的答案:在第一种情况下,RequestIDRequest的属性,在第二种情况下,RequestID是元素(其值还包含在第一种情况下不存在的引号)。在第一种情况下,Details元素具有名为Name的属性,其中包含值Bob。在第二种情况下,Details元素具有一个名为Name的子元素,其值为Bob。这是两件事。

仅供参考:在这两种情况下,元素和属性都在名称空间中(此处的前缀称为ns5)。

最终结果:这两种情况都需要不同的XSD,并且not等效。


0
投票

它们会被同样处理吗?

取决于谁或什么来处理它们。可以想象将元素和属性视为可互换的软件,就像有一种将大写和小写字母视为可互换的软件一样。

但是在XML级别,文档肯定不同。

© www.soinside.com 2019 - 2024. All rights reserved.