gpt4 book ai didi

xml - Delphi 不会解析外部 DTD 文件

转载 作者:行者123 更新时间:2023-12-03 18:46:09 26 4
gpt4 key购买 nike

我有一个像这样的 XML(简化版本以便于理解):

<?xml version="1.0"?>
<PubmedArticleSet>
<PubmedArticle>

<MedlineCitation Owner="NLM" Status="In-Process">
</MedlineCitation>

<PubmedData>
</PubmedData>

</PubmedArticle>
</PubmedArticleSet>

我想使用 Delphi 的“XML 数据绑定(bind)”向导从它的 DTD 创建一个 XML 解析器。
问题是“MedlineCitation”的描述在外部 DTD 中:
<!ENTITY % Medline PUBLIC "-//NLM//DTD Medline, 01 Jan 2015//EN"  "nlmmedlinecitationset_150101.dtd">
%Medline;

第二个 DTD 文件与主 DTD 位于同一文件夹中。
向导会将“MedlineCitation”视为/解析为一个简单的字符串。显然,当我运行程序并尝试阅读“MedlineCitation”时,它会崩溃并显示消息“元素 MedlineCitation 不包含单个文本节点”。

DTD 1(主要)
http://www.ncbi.nlm.nih.gov/corehtml/query/DTD/pubmed_150101.dtd

DTD 2('MedlineCitation')
http://www.ncbi.nlm.nih.gov/corehtml/query/DTD/nlmmedlinecitationset_150101.dtd

最佳答案

使用“大锤”方法解决。我只是将 DTD 2 文本粘贴到 DTD 1 中(稍作修改)。

这完全有效,但有点“蛮力”。如果您有更好的解决方案,请发布,我会接受您的回答。

关于xml - Delphi 不会解析外部 DTD 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com