代码之家  ›  专栏  ›  技术社区  ›  skrebbel

如何从多个地方引用XML节点

  •  2
  • skrebbel  · 技术社区  · 14 年前

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <library>
      <author id="john">
        <name>John Brown</name>
      </author>
      <book>
        <title>How To Peel Bananas In 10 Simple Steps</title>
        <author ref="#john"/>
      </book>
      <book>
        <title>Why Bananas Grow Upward</title>
        <subtitle>How The Main World Religions View Banana Growth</subtitle>
        <author ref="#john"/>
      </book>
    </library>
    

    显然,book节点中的author节点是对顶级author节点的引用。理想情况下,当将这样的文档加载到某个OO编程语言中时,Book对象的author属性将直接引用与前面创建的author对象相同的author对象。

    显然,我用XML写这篇文章的方法是非标准的,而且在加载之后需要额外的工作。尽管如此,我确信人们一直在用XML存储交叉引用的内容。做这样的事情最好和/或最简单和/或最“正确”的特性是什么?支持标准(如XPath等)最好支持哪种方式?

    我读过关于XLink的文章,但我不确定它是否是最好的解决方案—它似乎也相当过时和未使用(这是真的吗)?

    1 回复  |  直到 14 年前
        1
  •  -1
  •   Oded    14 年前

    发布的XML有效。对同一元素的多个引用没有错。

    您的问题是如何从这个XML中水合对象模型?