奇怪的嵌套在xml中

l--*_*''' 0 xml

这似乎是一个有效的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>
Run Code Online (Sandbox Code Playgroud)

为什么有倒数第二个到最后一行?结束了什么?为什么印度没有关闭?

Mat*_*nes 7

你的档案认为中国,不丹和美国都是印度的孩子.事实上,印度最后一个国家标签是封闭的.从技术上讲,它是一个"可接受的"(实际上这个术语是格式良好的)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>
Run Code Online (Sandbox Code Playgroud)