0

我有一个 XML 文件,它由一个定义名为“IDTree”的根节点组成。这个节点应该包含三个级别的未定义名称的后代,因为我需要在应用程序中使用 XPath 来漂亮地处理这个 XML 文件中的特定值。

例子:

<IDTree>
  <Foofoo id="0x00">
    <Foobar id="0x00">
      <Boofar id="0x00" />
      <Fasfoo id="0x01" />
      <Farfoo id="0x02" />
    </Foobar>
    <Foobas id="0x01">
      <Bas id="0x00" />
      <Bar id="0x01" />
      <Foo id="0x02" />
    </Foobas>
  </Foofoo>
</IDTree>

我需要通过使用“/IDTree/Foofoo/Foobas/Bar”之类的 XPath 来处理这些节点,将它们转换为三个值,例如 0x00 0x01 0x01。

存储在此 XML 文件中的数据在某种程度上是“动态的”。也就是说,它可能会通过在这三个级别中添加、移动、删除具有未指定名称的节点来扩展、编辑或以其他方式更改。

然而,在第三层以下的节点应具有定义的名称。根节点以下第三层的每个节点都应有零个或一个名为“Description”的子节点,而子节点又应具有名为“ShortDesc”和“Field”的子节点。另一方面,“字段”应具有零到多个名为“值”的字段。

根节点的所有子节点都应具有定义名称的属性。根节点以下 1 - 3 层的所有节点,名称未指定,必须具有“id”属性。第 3 级以下的具有已定义名称的节点都应根据其类型具有已定义的属性。

问题是,如何在 XML 方案中指定所有这些要求和选项?

4

0 回答 0