jjzjj

xml - 处理(太多)许多 XML 文件(使用 TagSoup)

我有一个包含大约4500个XML(HTML5)文件的目录,我想为它们的数据创建一个“list”(本质上是title和base/@href).为此,我一直在使用一个函数来收集所有相关文件路径,用readFile打开它们,将它们发送到基于tagsoup的解析器,然后输出/格式化结果列表。这适用于文件的子集,但最终会遇到openFile:resourceexhausted(Toomanyopenfiles)错误。阅读一些内容后,这并不奇怪:我正在使用mapMparseMetaDataFile文件,它会立即打开所有句柄。我想不通的是如何解决这个问题。我试过阅读一些关于Iteratee的文章;我

xml - 定义xml的相等性

有没有一种方法可以在Xml语句上定义相等性,使这三个语句相同(忽略空格、参数和标记顺序)?1:4.0.0comhttp://maven.apache.org2:4.0.0http://maven.apache.orgcom3:4.0.0http://maven.apache.orgcom例如,xml没有帮助,因为Content上没有Eq实例.此外,xml-conduit也不能用,因为Element包含List中的所有节点元素。它还对空格敏感。xml有很多库,包括HXT,但很难找到可用的库。 最佳答案 将XML解析为类似于以下的结构:

xml - 为什么这段代码会产生段错误?

我正在尝试编写一个模块来解析来自api的xml,去除一些信息,并将结果打印为json,但我在打印步骤中遇到了问题。如果我打印节目,我确实看到那里有正确的数据,但是,应该将记录转换为json的调用encodeshows会产生段错误。{-#LANGUAGEArrows,NoMonomorphismRestriction,OverloadedStrings#-}importNetwork.HTTPimportText.XML.HXT.CoreimportData.AesonimportqualifiedData.ByteString.Lazy.Char8asLazyByteStringope

xml - 使用 Haskell 和 HXT 同时处理两个 XML 文件

我有两个XML文件需要解析为一条记录。第一个文档包含大部分记录的数据,但是有一个字段包含一个标识符,用于从第二个XML文件中获取数据,有点像文件1:value1valueN1文件2:refValue1refValue2我想做的是在解析第一个文档时,从关键元素中检索值,当我提取的值时,我立即获取的内容来自第二个文件。由于我是Arrows的新手,事实证明这对我来说是一个很大的挑战,要弄清楚如何去做。我能够很好地解析第一个XML文件,但我不知道如何传入第二个文档以供按需使用。 最佳答案 在phg的建议下,我尝试先将第二个XML文件解析为M

xml - 不要用 HXT 替换 HTML 实体

如何使用HXT保留HTML实体?withSubstHTMLEntitiesSystemConfig似乎没有改变任何东西:runX$xshow$readString[]">"和runX$xshow$readString[withSubstHTMLEntitiesno]">"都生产[">\"\"transfer-URI=\"string:\"transfer-Message=\"OK\"transfer-Status=\"200\">>"]我完全不知道去哪里找。我几乎尝试了所有其他可以传递给readDocument的选项或readString谢谢

xml - 忽略流式 xml 管道中的子树

xml-conduitdocumentation仅列出了整个XML树被ConduitM使用的示例,例如:MichaelEliezer我正在尝试解析除之外的树上面的标签,有我不感兴趣的深层嵌套子树(它们的确切模式甚至可能是未知的),例如:MichaelEliezer用thepeople.hsexamplefromthedocs解析时,我得到以下异常:people.hs:XmlException{xmlErrorMessage="Expectedendtagfor:Name{nameLocalName=\"people\",nameNamespace=Nothing,namePrefix=

xml - 如何使 HaXml 和 DrIFT 与 GHC 7.0.3 一起工作?

我正在寻找一种在Haskell和Java/Scala/C#代码之间交换数据的解决方案。目前,我正在考虑使用XML。理想情况下,我希望从我的Haskell数据类型生成XML模式。我的第一次尝试是HaXml1.22.2、DrIFT2.2.2。全部在GHC7.0.3上。有以下片段:importData.List(isPrefixOf)importText.XML.HaXml.XmlContentimportText.XML.HaXml.TypesimportText.XML.HaXml.Pretty(document)dataMyType=A|BStringderiving(Eq,Show)

xml - 在 Haskell 中为箭头函数提供参数

我有一个包含一些数据的XML文件。该文件包含列和数据本身的描述。我可以读取列名称,但无法读取数据,因为我不明白如何将此行名称赋予将返回数据的函数。XML文件:Somestudy11128/12/2010Somestudy11203/03/2011Somestudy11309/06/2011示例代码:{-#LANGUAGEArrows#-}importText.XML.HXT.CoreimportData.Tree.NTree.TypeDefsparseXML::String->IOStateArrowsbXmlTreeparseXMLfile=readDocument[withVali

xml - HXT上的错误系统

有没有办法用HXT创建错误日志?或者我需要创建我的吗?我看到有一个HXT的错误系统,但是没有那么多可用的信息......我的想法是收集所有的错误,他没有解析的分支,然后把它和相应的行(他没有解析的分支)放在一个日志文件中。解析树内容:---XTag"owl:Class"|"rdf:about"="http://www.xfront.com/owl/ontologies/camera/#Viewer"|+---XTag"owl:equivalentClass"|+---XTag"owl:Class"|+---XTag"owl:oneOf"|"rdf:parseType"="Collect

xml - 折叠箭头列表

我在使用HXT时遇到一些问题,虽然我怀疑这只是我缺少的关于箭头的东西。我有一个像这样的XML结构valuevalue2value3和内部结构一样dataXmlData=XmlStrString|XmlListXmlData有没有办法在箭头的一步收集元素?getXmlData::IOSArrowXmlTree(String,XmlData)getXmlData=(getAttrl>>>getChildren>>>getText)&&&((filterByType"str">>>getText>>>arr(\x->XmlStrx))(filterByType"lst">>>getXmlDa