【问题标题】:Don't substitute HTML entities with HXT不要用 HXT 替换 HTML 实体
【发布时间】:2013-03-13 19:24:56
【问题描述】:

如何使用 HXT 保存 HTML 实体? withSubstHTMLEntities SystemConfig 似乎没有任何改变:

runX $ xshow $ readString [] "<doc><p> > </p></doc>"

runX $ xshow $ readString [withSubstHTMLEntities no] "<doc><p> > </p></doc>"

两者都产生

["</ source=\"\"<doc><p> > </p></doc>\"\" transfer-URI=\"string:\" transfer-Message=\"OK\" transfer-Status=\"200\"><doc><p> > </p></doc><//>"]

我完全不知道去哪里看。我几乎尝试了所有可以传递给readDocumentreadString的其他选项

谢谢

【问题讨论】:

    标签: xml haskell hxt


    【解决方案1】:

    您可以使用Text.XML.HXT.Arrow.WriteDocument 中的writeDocumentToString。签名是:

    writeDocumentToString :: ArrowXml a => SysConfigList -> a XmlTree String
    

    例如,

    f :: IO String
    f = do
      let arr = readString [] "<doc><p> &lt;tag&gt; </p></doc>" >>> writeDocumentToString []
      results <- runX arr
      return . head $ results
    

    f 将返回 IO "&lt;doc&gt;&lt;p&gt; &amp;lt;tag&gt; &lt;/p&gt;&lt;/doc&gt;"。 (这足以避免&lt;tag&gt; 被解析为标签)

    【讨论】:

      猜你喜欢
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2019-03-20
      • 2018-10-21
      • 2011-02-12
      • 1970-01-01
      相关资源
      最近更新 更多