gpt4 book ai didi

Haskell HXT : Parsing xml documents with remote DTD without hxt-curl

转载 作者:行者123 更新时间:2023-12-04 18:42:18 25 4
gpt4 key购买 nike

我正在尝试使用 HXT 解析以下 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Key</key>
<string>Value</string>
</dict>
</plist>

我不想在这里进行任何验证,因为它需要网络访问。
可惜HXT还是要 hxt-curl/ hxt-http安装包来解析这个简单的文档:
Prelude> :m +Text.XML.HXT.Core
Prelude Text.XML.HXT.Core> runX $ readDocument [withValidate no] "example.xml"

fatal error: HTTP handler not configured,
please install package hxt-curl and use 'withCurl' config option
or install package hxt-http and use 'withHTTP' config option

我不想加 hxt-curl/ hxt-http包到依赖项列表,因为我真的不需要它们。我无法更改正在解析的文档。转移到另一个 xml 解析库也是不可取的。

有没有办法在不添加不必要的包的情况下用 HXT 解析示例文档?

最佳答案

您还必须申报withSubstDTDEntities no , 一世。 e.

runX $ readDocument [withValidate no, withSubstDTDEntities no] "example.xml"

说明:此配置的默认值是 yes,我想这就是 hxt 尝试下载 dtd 文件的原因。来自 the documentation :

Switching this option and the validation off can lead to faster parsing, in that case reading the DTD documents is not longer necessary.

关于Haskell HXT : Parsing xml documents with remote DTD without hxt-curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22856806/

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