问题标签 [hxt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
395 浏览

xml - 从简单 XML 中获取数据

我正在尝试使用 HXT 从 6 行的 XML 输入中提取一些数据。我也想保留 HXT,因为 Curl 集成,而且我还有其他包含数千行的 XML 文件,稍后。

我的 XML 如下所示:

而且我一直在努力弄清楚如何解析它。不幸的是,HXT 的 Wiki 页面并没有太大帮助(或者我只是忽略了一些东西)。

我总是得到的是

所以,我想,解析一定会出错,因为我检查并正确地从查询中获取了 XML。

0 投票
1 回答
390 浏览

haskell - HXT:在纯代码中读取和写入 HTML 到 String 时的令人惊讶的行为

我想从字符串中读取 HTML,对其进行处理并使用 HXT 将更改后的文档作为字符串返回。由于此操作不需要 IO,因此我宁愿使用 with 执行 Arrow 而runLA不是 with runX

代码如下所示(为简单起见省略处理):

html但是,结果中缺少周围的标记:

当我像这样使用 runX 时:

我得到了预期的结果:

为什么会这样,我该如何解决?

0 投票
1 回答
476 浏览

opengl - 在箭头内调用 IO Monad

也许我的做法是错误的,但我正在使用 HXT 读取一些我想在 HOpenGL 的数组中使用的顶点数据。顶点数组需要是通过调用 newArray 创建的 Ptr。不幸的是 newArray 返回一个 IO Ptr,所以我不确定如何在 Arrow 中使用它。我想我需要一个类型声明类似于 IO a -> Arrow a 的东西?

0 投票
1 回答
445 浏览

haskell - 如何将参数传递给HXT箭头以及如何使用-<<

我的问题如下。我有这个 xml 文件要解析:

我想有以下输出:

但是下面的代码给了我:

我只想解析一次 XML 以检索“错误标签”和 ERR。

我认为我的问题出在功能上errToLab,但没有明显的解决方案。

谢谢你的帮助。

这是代码

0 投票
1 回答
468 浏览

haskell - 如何混合应用函子和箭头

我在 Andrew Birkett 的博客Applicative arrows for XML &&& return to pure上读到,我们可以混合使用箭头和应用函子。

我自己尝试过,但我没有我所期望的。我想要这个结果:

但我得到了这个:

我认为我的代码中有一个转折,但我不知道在哪里搜索。

如果有人可以提出一些帮助,下面是我的代码。

0 投票
1 回答
322 浏览

haskell - 箭头/HXT 和类型签名

我正在尝试在 Haskell 中学习箭头,因此我正在使用基于箭头的 XML HXT 库编写一个简单的应用程序。HXT wiki 和教程中的示例放弃了函数类型签名。但是,我非常喜欢类型,并且正在尝试弄清楚如何使用它们。这是我遇到的绊脚石。鉴于这些功能:

我认为他们应该被分配以下签名:

我正在尝试使用箭头语法将它们连接在一起:

但是,如果我的类型签名是正确的(GHC 没有抱怨),我需要一种结合 monad 语法和箭头语法的方法来XmlTree退出并返回IO.

我不确定如何进行。有人有任何见解吗?

0 投票
1 回答
312 浏览

haskell - 更好地使用 HXT 和箭头

我一直在使用hxt没有问题,但是从一开始就有问题。看,想象下面这段代码

我已经像这样使用它来解析许多文档,并且在经典的编程问题之前,我缺乏抽象。

我有四个(以及更多即将到来的)文件要解析,就像这个例子一样。有些有 2 个属性,有些有 5 ,有些有 1 等等我不能根据我的文件的属性数量来编写不同版本的 liftKeys。问题是我真的不明白箭头或我在做什么 uu 必须有一些折叠或一些东西来编写更简单的代码。

你知道这个更好的用途吗?

0 投票
1 回答
515 浏览

xml - 如何在 HXT 中输出 XMLTrees?

我正在尝试从 xml 文件中提取标签并根据属性将每个标签写入单独的文件。

提取部分并不难:

我试图将 writeDocument 映射到第二个条目,但没有成功。我知道我必须以某种方式将它放回 IO Monad ......但不知道如何实现这一点。


出于测试目的,我从结果中提取了这些 XmlTrees:

我可以像这样运行箭头x

但是当我尝试将它写入文件时,我收到错误消息,表明我不在 IO Monade 中(我认为):

更改runLArunIOSLA无济于事:


这是我所能得到的。

更新

正如 Travis Brown 指出的那样,可以在一个箭头中做到这一点:

0 投票
1 回答
487 浏览

xml - 如何替换 HXT 中的节点?

给定一个示例 xml 文件:

我如何tag用不同的标签替换每个,所以我得到一个不同的文件:

文档 [1] 似乎使用了过滤器,有没有办法只用箭头来完成这个?


更新

我现在可以像这样替换节点:

但我不知道如何获得正确的属性。


[1] http://www.haskell.org/haskellwiki/HXT#Transform_external_references_into_absolute_reference

0 投票
1 回答
129 浏览

xml - 如何在简单的 HXT 函数中解决此问题?

我已经开始了关于 HXT 的友好教程教程,以使用 haskell 解析 XML 文件。

在教程的第一页中,我们尝试从 xml 文件中检索来宾。为此,有以下功能。

但是当我试图在解释器中加载文件时ghci。我仍然收到此错误:

指出表达式中的 operator ->proc x -> do存在解析错误这一事实,我在没有帮助的情况下尝试了许多修改。就像在一行中写下所有这些

谁能帮我理解我错过了什么?

感谢您的回复!