微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

空简单元素和空复杂元素之间的区别-XML

如何解决空简单元素和空复杂元素之间的区别-XML

xml文件中的空简单元素和空复杂元素之间是否有区别?我该如何区分它们?

在w3schools中,我发现:

  1. empty simple element <element></element><element />;此外,它还说“空元素可以具有属性。”。
  2. empty complex element <product pid="1345"/>

解决方法

成为简单复杂是一种类型的属性,而不是(直接)元素的属性。我们可以说元素符合类型(特别是在XSD Schema中定义的类型),并且可以说类型是简单或复杂的,但是简单和复杂类型的类别在那些他们允许。具体来说,复杂类型和简单类型都可能允许空元素(例如<e/>)和具有文本内容的元素(例如<e>foo</e>)。如果我们看到一个具有属性或子元素的元素,那么我们知道它不能符合任何简单类型,但是如果没有,则我们不看模式就不会知道。

“如何区分它们”这个问题的答案是,您需要查看模式;您不能仅将它们与实例区分开来。

,

简单元素意味着它没有子元素,也没有属性。如果元素具有子元素或属性,则将其视为 complex

分别说一个元素为就是说它没有内容–不仅没有子元素,而且没有子文本节点。

因此,简单元素和复杂元素都可以为空或非空。

侧面说明:<e/><e></e>相对于start标签是自动关闭的,无论其元素是简单还是复杂,都是无关紧要的,并且通常无法在XML级别上检测到或定义

示例

  1. <e></e>很简单而且很空。
  2. <e>abc</e>很简单而且不是空的。
  3. <e a="1"></e>很复杂而且很空。
  4. <e a="1">abc</e>是复杂且非空的。

另请参见

摘要

通常,将 complex 类型视为具有XML子结构,而将 simple 类型视为缺乏XML子结构。认为意味着没有内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。