XML 文件可以从 URL 读取数据吗?

Posted

技术标签:

【中文标题】XML 文件可以从 URL 读取数据吗?【英文标题】:Can an XML file read data from a URL? 【发布时间】:2022-01-15 08:28:09 【问题描述】:

我正在创建一个简单的 XML 提要,并希望提要从 URL 引用产品数量数据。

XML 文件是否可以引用 URL 中的值?如果是这样,如何做到这一点?

【问题讨论】:

【参考方案1】:

一般来说,您可以在 DOCTYPE 中声明外部实体,然后在内容中引用这些实体以从文件或网络资源中提取字符并就地展开。在以下示例中,实体引用 &ent; 将替换为从 http://example.com/some-data 获取的任何内容,如果该 URL 上存在任何内容(它不存在):

<!DOCTYPE doc [
  <!ELEMENT doc (#PCDATA)>
  <!ENTITY ent
    SYSTEM "http://example.com/some-data">
]>
<doc>
  &ent;
</doc>

但是,它是否真正实现 DOCTYPE 处理以及是否可以从http: URL 或文件名中获取取决于您的 XML 解析器/处理器。例如,Web 浏览器在接收 XML 或 Xhtml 时,不会获取外部内容,而 XML 和 SGML 的命令行工具或文档处理器通常可以预期执行 DTD 解析/验证和外部实体展开。

【讨论】:

【参考方案2】:

XML 是一种通用数据格式,专为在其之上构建的其他数据格式(如 SVG、XHTML、Atom 和 MIX)而设计。通常通过混合和匹配其他此类格式。

XML 本身没有办法随意从某处拉取数据。

一个特定的 XML 应用程序(我们称之为 YourXFeed)可能会这样做,它可能会通过使用 XLink 进行引用来做到这一点。然后由旨在使用 YourXFeed 文件的应用程序来跟踪这些链接,并将其中的数据提取到它们在解析 XML 时输出的结果数据结构中。

或者,您可以使用服务器端编程将数据直接嵌入到您的 XML 文件中。

或者您也可以做同样的事情,但按计划生成静态文件。

【讨论】:

以上是关于XML 文件可以从 URL 读取数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

java从xml读取数据更快还是从数据库里读取数据更快?

使用 curl 和 php 从 url 读取 xml 数据

发布时 swf 文件无法读取 XML 数据

如何使用php从url读取xml文件

QGIS服务器可以从数据库中读取项目吗

unity通过读取配置文件(xml或者Json格式)可以设置物体在场景中的位置吗?