XML – 引用其他XML文件

前端之家收集整理的这篇文章主要介绍了XML – 引用其他XML文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是XML的新手,所以这可能是一个相当容易的答案。我想知道是否有一种从其他XML文件中引用外部XML文件的标准方法。让我举个例子。假设你有一个文件来定义一个容纳大量数据的单个对象:
<person>
    <name>John</name>
    <age>18</age>
    <hair>Brown</hair>
    <eyes>Blue</eyes>
</person>

为了这个问题,假装该人拥有其他信息。假装文件就像10 MB。

现在,假设你有另一个XML文件定义了一个组:

<group>
    <person>
        <name>John</name>
        <age>18</age>
        <hair>Brown</hair>
        <eyes>Blue</eyes>
    </person>
    <person>
        <name>Kim</name>
        <age>21</age>
        <hair>Blue</hair>
        <eyes>Green</eyes>
    </person>
    <person>
        <name>Sean</name>
        <age>22</age>
        <hair>Black</hair>
        <eyes>Brown</eyes>
    </person>
</group>

正如你所看到的,如果Person的数量非常大,Group文件将会非常大。所以,如果我们有一些像John.xml这样的东西,有没有一个标准的方法来引用它在Group.xml中没有明确定义所有的John的数据?我相信这是一个非常广泛的话题,请随时将我链接到任何相关的网页。谢谢!

标准

XInclude是唯一具有任何级别支持的标准。

>几个XML编辑器,包括Oxygenxmlspy支持
>几个XML解析器,包括Xerces,也支持它,还有.net端口。
>几个XML工具,如Saxon支持它,用于Java和.net

Wikipedia article on XInclude有一些很好的例子。

XLink是一个切向相关的标准,不是真正包含文档,更多的是引用其他文档中的部分。没有很好的支持

备择方案

如果你担心的大小,有几种方法可以去:

>使用流式XML处理器,例如DataDirect XQuery(或者在较小程度上,Saxon 9.3 EE,它只需要在内存中保留尽可能多的信息来解决查询
>使用XML数据库,如MarkLogiceXist
>使用一个XML文件列出其他XML文件名称,这些文件用XQuery或XSLT编写,然后使用doc()函数和进程进行读取。 (除非你的处理器是流媒体的,或者有办法处理文件,如DDXQSaxon那样,你仍然会遇到相同大小的问题。)

原文链接:https://www.f2er.com/xml/293211.html

猜你在找的XML相关文章