验证 XML 文件的简单方法

Easy way to validate XML File

我有一个 C++ 程序,用户可以在其中创建一个 .xml 文件,其中存储了曲目。基本上这些文件是 .gpx 文件,稍有改动,因此 pugixml 可以读取它。如何确保用户选择的文件格式正确?例如,重要的是 <name>Track x 并且节点名称是正确的。 这是此类文件的示例:

<?xml version='1.0' encoding='UTF-8'?>
<trk>
    <name>Track 1</name>
    <trkseg>
      <trkpt lat="48.08162894291554" lon="11.274891365644537">
      </trkpt>
      <trkpt lat="48.08167553246409" lon="11.274872590181431">
      </trkpt>
  </trk>
  <trk>
    <name>Track 2</name>
    <trkseg>
      <trkpt lat="48.08162939089216" lon="11.274952385899628">
      </trkpt>
    </trkseg>
</trk>

有没有简单的方法来验证 .xml 文件的格式?还是我必须手动检查?

我知道两种验证 xml 文件的方法:

这两种验证方法都应由解析器处理。选择哪种方法取决于您验证所需的粒度级别,其中 XSD (Schema) 更复杂,并且取决于您可以使用什么。因此,如果有可用的 DTD(文档类型定义),则可能 "easy" 仅使用它。您当然也可以编写一些代码来进行验证,但我想那不是您要找的 "easy way"。