草庐IT

xml - 解析和访问不受信任的 XML

我有某种XML转换网关,它接受一种格式的XML,并从我不愿信任的来源将其生成为另一种格式。现在,这些转换可以是微不足道的,比如在这里和那里更改几个属性,也可以是非常复杂的,我需要分解整个输入并从头开始构建输出。所以,基本上我有两个问题:解析XML。它需要快速(最好)并且在不破坏原子表的情况下工作(我正在看着你,xmerl)因为来源不是那么可靠。轻松访问深层嵌套的元素以检索重建所需的信息。虽然有一些解析XML的选项,例如fast_xml和erlsom库,但它们生成的结构很难访问,因为它们与xmerl_xpath到目前为止,这是我发现获取深层嵌套数据的唯一合理方法。所以问题是,是否有一种方

xml - 使用 tsung POST 请求发送 json

我正在尝试使用Tsung创建一个POST请求如何在contents属性中发送JSON文档?contents='{"name":"alex"}'当然是无效的...有没有一种方法可以通过POST请求发送JSON? 最佳答案 我能够通过替换""并添加内容类型headerapplication/json来做到这一点所以我的例子会变成:content_type='application/json'contents='{"name":"alex"} 关于xml

xml - 在 Erlang 中构建 XMERL 文档

谁能告诉我如何使用XMERL构建一个简单的XML文档?该文档仅显示如何附加到从文件读取的当前XML文档。我想从头开始创建一个新的XML文档。例如,我想将这样的简单结构写入XML文件:Data={myNode,[{foo,"Foo"},{bar,"Bar"}]}.谢谢! 最佳答案 xmerl的“简单”格式与您的类似:(注意第三个值,子元素列表)Data={myNode,[{foo,"Foo"},{bar,"Bar"}],[]}.这可以“导出”到XML中用作字符串:>lists:flatten(xmerl:export_simple([

xml - 是否有库可以在 erlang 中执行 xslt 转换?

我是erlang的新手,我想知道如何操作xml。我找到了erlsom但我需要对xml做一些简单的转换。我正在寻找一个xslt(甚至是1.0)库,但我还没有找到任何东西,我只能通过手动处理DOM或任何你可以称之为代表xml树的结构来进行转换二郎。不用说结果是一堆乱七八糟的代码,我用它来获得我可以用一堆行的xslt实现的结果。您是否知道可以为我指明正确方向的代码库、示例或文档? 最佳答案 http://erlang.org/doc/apps/xmerl/xmerl_xs_examples.htmlhttp://erlang.org/us

xml - 我如何在 Erlang 中对字符串进行 XML 编码?

我有一个erlang字符串,其中可能包含&"1>Unenc="string&\"stuff\"是否有一个Erlang函数可以解析字符串并对所有需要的HTML/XML实体进行编码,例如:2>Enc=xmlencode(Unenc)."string&"stuff"<".?我的用例是来自用户输入的相对较短的字符串。xmlencode函数的输出字符串将是XML属性的内容:最终的XML将通过网络适本地发送。 最佳答案 Erlang发行版中有一个函数可以转义尖括号和&符号,但没有记录在案,因此最好不要依赖它:1

windows - 如何使用 Erlang Win32Reg 读取 Windows 注册表项?

我将其标记为Erlang和Elixir,因为我的示例代码在Elixir中,但我怀疑答案将涉及ErlangWin32Reg库。Windows8.1x64二郎17.4Elixir1.0.3我在Windows上从Iex执行以下操作:{:ok,handle}=:win32reg.open([:read]):ok=:win32reg.change_key(handle,:local_machine)当我这样做时,我得到了这个错误:**(FunctionClauseError)nofunctionclausematchingin:win32reg.split_key/3(stdlib)win32r

windows - Windows 10 64 位上的 RabbitMQ 3.6.6 - 未检测到 Erlang

我运行的是64位Windows10,我安装了Erlang64位R16B03,设置ERLANG_HOME系统环境变量(不是用户环境变量)并验证它可以从命令shell正常工作。当我运行RabbitMQ3.6.6.exe进行设置时,出现错误“无法检测到Erlang”。RabbitMQ3.6.6需要什么版本的Erlang?Erlang是否必须安装在C:\ProgramFiles中??我将它安装在C:\Erlang文件夹中。我还尝试将%ERLANG_HOME%\bin添加到Path,但没有任何区别。我已经安装了VC++可再发行exe(2005、2008、2013、2015)。我尝试了Erlang

windows - erlsrv - 未能在 Windows 上创建服务

正在尝试创建这样的Windows服务:erlsrvaddmuzaaya-w"C:/Folder"-c"testerlangservice"-ar"-pa..-eval\"service:start()\""我立即收到以下错误:erlsrv:Unabletoregisterservicewithservicemanager.Error:Accessisdenied.我认为我不太熟悉如何传递参数以及几个参数,即使在阅读了此处的文档之后也是如此:http://www.erlang.org/doc/man/erlsrv.html。有人可以帮忙举例说明如何成功创建一个windows服务吗?我希望

windows - Windows 上的 Erlang 透析器

我在Windows10机器上。我通过chocolatey安装了Elixir;这将安装Erlang18。如何安装透析器?控制台应用程序是唯一的unix吗? 最佳答案 Windows上的名称符合Windows约定。查看我的Windows安装:C:\ProgramFiles\erl7.1\bin\dialyzer.exe这应该是您要查找的内容。您可能希望将其添加到您的路径中。老实说,我记不住Windows的详细信息,所以我倾向于将特定版本的完整安装路径放在脚本(批处理文件等)中的特定版本的bin/中。在我看来,直接在Windows上进行开

windows - 递归函数调用挂起,Erlang

我目前正在自学Erlang。一切都很顺利,直到我发现这个功能有问题。-module(chapter).-compile(export_all).list_length([])->0;list_length([_|Xs])->1+list_length([Xs]).这是从教科书上摘下来的。当我使用OTP17运行这段代码时,它只是挂起,这意味着它只是如下所示。1>c(chapter).{ok,chapter}2>chapter:list_length([]).03>chapter:list_length([1,2]).在任务管理器中查看时,ErlangOTP使用了200Mb到330Mb的内