问题标签 [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.
xml - 从简单 XML 中获取数据
我正在尝试使用 HXT 从 6 行的 XML 输入中提取一些数据。我也想保留 HXT,因为 Curl 集成,而且我还有其他包含数千行的 XML 文件,稍后。
我的 XML 如下所示:
而且我一直在努力弄清楚如何解析它。不幸的是,HXT 的 Wiki 页面并没有太大帮助(或者我只是忽略了一些东西)。
我总是得到的是
所以,我想,解析一定会出错,因为我检查并正确地从查询中获取了 XML。
haskell - HXT:在纯代码中读取和写入 HTML 到 String 时的令人惊讶的行为
我想从字符串中读取 HTML,对其进行处理并使用 HXT 将更改后的文档作为字符串返回。由于此操作不需要 IO,因此我宁愿使用 with 执行 Arrow 而runLA
不是 with runX
。
代码如下所示(为简单起见省略处理):
html
但是,结果中缺少周围的标记:
当我像这样使用 runX 时:
我得到了预期的结果:
为什么会这样,我该如何解决?
opengl - 在箭头内调用 IO Monad
也许我的做法是错误的,但我正在使用 HXT 读取一些我想在 HOpenGL 的数组中使用的顶点数据。顶点数组需要是通过调用 newArray 创建的 Ptr。不幸的是 newArray 返回一个 IO Ptr,所以我不确定如何在 Arrow 中使用它。我想我需要一个类型声明类似于 IO a -> Arrow a 的东西?
haskell - 如何将参数传递给HXT箭头以及如何使用-<<
我的问题如下。我有这个 xml 文件要解析:
我想有以下输出:
但是下面的代码给了我:
我只想解析一次 XML 以检索“错误标签”和 ERR。
我认为我的问题出在功能上errToLab
,但没有明显的解决方案。
谢谢你的帮助。
这是代码
haskell - 如何混合应用函子和箭头
我在 Andrew Birkett 的博客Applicative arrows for XML &&& return to pure上读到,我们可以混合使用箭头和应用函子。
我自己尝试过,但我没有我所期望的。我想要这个结果:
但我得到了这个:
我认为我的代码中有一个转折,但我不知道在哪里搜索。
如果有人可以提出一些帮助,下面是我的代码。
haskell - 箭头/HXT 和类型签名
我正在尝试在 Haskell 中学习箭头,因此我正在使用基于箭头的 XML HXT 库编写一个简单的应用程序。HXT wiki 和教程中的示例放弃了函数类型签名。但是,我非常喜欢类型,并且正在尝试弄清楚如何使用它们。这是我遇到的绊脚石。鉴于这些功能:
我认为他们应该被分配以下签名:
我正在尝试使用箭头语法将它们连接在一起:
但是,如果我的类型签名是正确的(GHC 没有抱怨),我需要一种结合 monad 语法和箭头语法的方法来XmlTree
退出并返回IO
.
我不确定如何进行。有人有任何见解吗?
haskell - 更好地使用 HXT 和箭头
我一直在使用hxt没有问题,但是从一开始就有问题。看,想象下面这段代码
我已经像这样使用它来解析许多文档,并且在经典的编程问题之前,我缺乏抽象。
我有四个(以及更多即将到来的)文件要解析,就像这个例子一样。有些有 2 个属性,有些有 5 ,有些有 1 等等我不能根据我的文件的属性数量来编写不同版本的 liftKeys。问题是我真的不明白箭头或我在做什么 uu 必须有一些折叠或一些东西来编写更简单的代码。
你知道这个更好的用途吗?
xml - 如何在 HXT 中输出 XMLTrees?
我正在尝试从 xml 文件中提取标签并根据属性将每个标签写入单独的文件。
提取部分并不难:
我试图将 writeDocument 映射到第二个条目,但没有成功。我知道我必须以某种方式将它放回 IO Monad ......但不知道如何实现这一点。
出于测试目的,我从结果中提取了这些 XmlTrees:
我可以像这样运行箭头x
:
但是当我尝试将它写入文件时,我收到错误消息,表明我不在 IO Monade 中(我认为):
更改runLA
为runIOSLA
无济于事:
这是我所能得到的。
更新
正如 Travis Brown 指出的那样,可以在一个箭头中做到这一点:
xml - 如何替换 HXT 中的节点?
给定一个示例 xml 文件:
我如何tag
用不同的标签替换每个,所以我得到一个不同的文件:
文档 [1] 似乎使用了过滤器,有没有办法只用箭头来完成这个?
更新
我现在可以像这样替换节点:
但我不知道如何获得正确的属性。
[1] http://www.haskell.org/haskellwiki/HXT#Transform_external_references_into_absolute_reference
xml - 如何在简单的 HXT 函数中解决此问题?
我已经开始了关于 HXT 的友好教程教程,以使用 haskell 解析 XML 文件。
在教程的第一页中,我们尝试从 xml 文件中检索来宾。为此,有以下功能。
但是当我试图在解释器中加载文件时ghci
。我仍然收到此错误:
指出表达式中的 operator ->proc x -> do
存在解析错误这一事实,我在没有帮助的情况下尝试了许多修改。就像在一行中写下所有这些
谁能帮我理解我错过了什么?
感谢您的回复!