【问题标题】:weird nesting in xmlxml中的奇怪嵌套
【发布时间】:2009-06-13 02:14:05
【问题描述】:

这似乎是一个有效的 xml 文件,我能够将其导入下拉列表,但我不明白有趣的嵌套。 :

<?xml version="1.0" encoding="utf-8" ?>
<Countries>
  <Country>
    <ID>1</ID>
    <Name>Nepal</Name>
  </Country>
  <Country>
    <ID>2</ID>
    <Name>India</Name>
    <Country>
      <ID>3</ID>
      <Name>China</Name>
    </Country>
    <Country>
      <ID>4</ID>
      <Name>Bhutan</Name>
    </Country>
    <Country>
      <ID>5</ID>
      <Name>USA</Name>
    </Country>
  </Country>
</Countries>

为什么倒数第二行结束?它在关闭什么?印度为什么不关闭?

【问题讨论】:

  • 额外的结束标签属于印度。这是一个诡计的问题,看看我是否还醒着?

标签: xml


【解决方案1】:

您的文件认为中国、不丹和美国是印度的子孙。事实上,印度是由最后一个国家结束标签封闭的。从技术上讲,它是一个“可接受的”(实际术语是格式良好)XML 文件,但完整性检查表明它没有任何意义。文件大概应该是这样的:

<Countries>
<Country>
  <ID>1</ID>
  <Name>Nepal</Name>
</Country>
<Country>
  <ID>2</ID>
  <Name>India</Name>
</Country>
<Country>
  <ID>3</ID>
  <Name>China</Name>
</Country>
<Country>
  <ID>4</ID>
  <Name>Bhutan</Name>
</Country>
<Country>
  <ID>5</ID>
  <Name>USA</Name>
</Country>
</Countries>

【讨论】:

  • 确实,它的格式很好,但在合理的模式下无效。模式 /is/ 是否合理是未知的。
  • 好收获。更新了我的答案。
【解决方案2】:

它在理论上形成良好,但从我看到的模式来看,对我来说看起来并不良好。很可能只是一个错字。或者生成的代码中存在错误。

【讨论】:

  • 是的,我知道它格式正确,这就是我所说的,请阅读。我说 patten 做的看起来很奇怪,而且看起来不太好。感谢您对此的否定,最不应该的。
  • 感谢 Matthew Jones,非常感谢。
猜你喜欢
  • 1970-01-01
  • 2015-02-27
  • 2014-06-12
  • 1970-01-01
  • 2017-05-18
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多