首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haskell HXT:使用没有hxt-curl的远程DTD解析xml文档

Haskell HXT:使用没有hxt-curl的远程DTD解析xml文档
EN

Stack Overflow用户
提问于 2014-04-04 07:55:32
回答 1查看 265关注 0票数 5

我试图用HXT解析以下XML文档

代码语言:javascript
复制
<?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包来解析这个简单的文档:

代码语言:javascript
复制
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解析示例文档的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-04 09:21:46

您还必须声明withSubstDTDEntities no,即。

代码语言:javascript
复制
runX $ readDocument [withValidate no, withSubstDTDEntities no] "example.xml"

说明:这个配置的缺省值是“是”,这就是为什么hxt尝试下载dtd文件的原因。来自the documentation

切换此选项和关闭验证可以导致更快的解析,在这种情况下,不再需要读取DTD文档。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22856806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档