gpt4 book ai didi

xml - Perl XML-SAX-Expat 外部实体位置

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:45 24 4
gpt4 key购买 nike

我正在使用 XML-Simple 和 XML-SAX-Expat 来解析包含外部实体的文档。我这样声明我的实体:

<!ENTITY chap1 SYSTEM "chapter-1.xml">

我指的是同一目录下的另一个文件。

但是,它正在我的当前工作目录中搜索该文件,而不是根文档的位置。

404 File `/u/egge/chapter-1.xml' does not exist

Handler couldn't resolve external entity at line 35, column 2, byte 1040
error in processing external entity reference at line 35, column 2, byte 1040 at /perl5/PROJ/XML-Parser/2.36-2.0.1-5.10-64/lib/perl5/XML/Parser.pm line 187

如何让它使用根文档的目录而不是我的 CWD?

最佳答案

实用程序 xmllint 具有 --noent 标志,它将扩展根文档的 ENTITY 引用。如果你找不到替代方案,你总是可以用这个快速重写输入文件:

xmllint --noent $input.xml > expanded.xml

它还有预先计算完整 XML 文件的优势,而不是每次都在运行时计算。

关于xml - Perl XML-SAX-Expat 外部实体位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19258601/

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