【问题标题】:How to pretty print XML from Smalltalk?如何从 Smalltalk 漂亮地打印 XML?
【发布时间】:2013-07-09 00:38:00
【问题描述】:

我有一个包含 XML 的字符串,没有换行符或缩进。我想把它变成一个具有良好格式和语法高亮的字符串。我不想为这么简单的事情使用 Web 框架或 Web 浏览器。我该怎么做?

| unformattedXml formattedXml |
unformattedXml := '<tag><nested>hello</nested></tag>'.
formattedXml := UnknownClass new format: unformattedXml.

注意:我的输入是一个字符串。我的输出是一个字符串。

【问题讨论】:

    标签: xml smalltalk pretty-print


    【解决方案1】:

    要漂亮地打印您的 xml 字符串,您可以使用以下

    xmlString := '<a><b><c></c></b></a>'.
    xml := XMLDOMParser parseDocumentFrom: xmlString.
    ^ String streamContents: [:stream|
        xml prettyPrintOn: stream ]
    

    这应该给你

    <a>
        <b>
            <c />
        </b>
    </a>
    

    我不知道语法高亮的最佳选择是什么

    【讨论】:

      【解决方案2】:

      查看squeaksource.comss3.gemstone.comsmalltalkhub.com 上的XML 包。一定会有适合漂亮印刷的东西。

      语法突出显示是另一回事,因为它取决于您要打印的介质。你的目标是什么?你说你不想使用网络浏览器,所以我只能假设你想要在 Smalltalk 环境中突出显示语法?如果是这样,您可能不得不求助于PetitParser 并可能编写自己的解析器(您可能不想这样做)。或许您可以向我们提供更多关于您想要完成的任务的详细信息?

      【讨论】:

        猜你喜欢
        • 2010-09-13
        • 2013-04-12
        • 1970-01-01
        • 2017-12-19
        • 1970-01-01
        • 2014-05-21
        相关资源
        最近更新 更多