相关疑难解决方法(0)

如何从Java中打印XML?

我有一个包含XML的Java字符串,没有换行符或缩进.我想把它变成一个格式很好的XML的字符串.我该怎么做呢?

String unformattedXml = "<tag><nested>hello</nested></tag>";
String formattedXml = new [UnknownClass]().format(unformattedXml);
Run Code Online (Sandbox Code Playgroud)

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

(基本)模拟结果:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <tag>
    <nested>hello</nested>
  </tag>
</root>
Run Code Online (Sandbox Code Playgroud)

java xml pretty-print

432
推荐指数
20
解决办法
43万
查看次数

格式xml,漂亮的打印

我知道有两种方法可以"漂亮地打印"或格式化xml:

shell工具 Hack 38 Pretty-Print XML使用通用标识样式表和Xalan

有什么其他免费(如啤酒)格式化器?(除了使用javascript)

xml prettify pretty-print

6
推荐指数
2
解决办法
7953
查看次数

如何在HTML代码标记内显示缩进的XML

我想在html页面中显示缩进的XML,<code></code> 我从javascript函数获取XML

new XMLSerializer()).serializeToString(newXMLDoc)

这给了我无意的XML字符串.

我能想到的一种方法是使用<ul><li>

但有更好的方法吗?

在这种情况下,XSLT可以帮助我(对不起,我不太了解XSLT).如果是,我需要在html文档中或在xmlString我附加到<code></code>标记的XSLT样式表中附加XSLT样式表.

它只是一个客户端应用程序我不能在服务器端做任何事情.

更新:我也替换<和>与的xmlString &lt;并且&gt;我还可以使用XSLT?

即使在应用了Dimitre Novatchev给出的XSLT之后,我也没有得到缩进文本,虽然我可以看到XML在使用SAXON解析器kernow应用XSLT时缩进但是当我在我的javascript代码中执行它时我得到了相同的缩进码.

    //var xslt contains the XSLT provided by Dimitre Novatchev as string
    //var XMLDoc is the XMLDocument object to be transformed
    xsltProcessor=new XSLTProcessor();
    xsltProcessor.importStylesheet(xsl);
    newXMLDoc = xsltProcessor.transformToDocument(xml,document);
    //This is how I am converting the transformed XML to string 
    return (new XMLSerializer()).serializeToString(newXMLDoc)
Run Code Online (Sandbox Code Playgroud)

html xml xslt indentation

5
推荐指数
2
解决办法
3万
查看次数

如何在javascript中打印漂亮的xml?

在JavaScript中漂亮打印xml的最佳方法是什么?我通过ajax调用获取xml内容,在textarea中显示此请求之前,我想格式化它,以便它看起来很好看:)

javascript xml pretty-print

4
推荐指数
2
解决办法
2万
查看次数

未定义:调用 XSLTProcessor.prototype.importStylesheet 时出现未定义错误

我想美化一些 XML,我发现了以下代码(在这个答案中JSFiddle)。我这样修改:

const xsltDoc = new DOMParser().parseFromString([
    // describes how we want to modify the XML - indent everything
    '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">',
    '  <xsl:output omit-xml-declaration="yes" indent="yes"/>',
    '    <xsl:template match="node()|@*">',
    '      <xsl:copy><xsl:apply-templates select="node()|@*"/></xsl:copy>',
    '    </xsl:template>',
    '</xsl:stylesheet>',
].join('\n'), 'application/xml');
function prettifyXml(sourceXml) {
    var xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml');
    var xsltProcessor = new XSLTProcessor();
    // Error happens here:
    xsltProcessor.importStylesheet(xsltDoc);
    var resultDoc = xsltProcessor.transformToDocument(xmlDoc);
    var resultXml = new XMLSerializer().serializeToString(resultDoc);
    return resultXml;
};
Run Code Online (Sandbox Code Playgroud)

运行代码时出现错误,但错误没有任何消息。在 Firefox 控制台中看起来像这样:

在此输入图像描述

这是我在调试器中看到的:

在此输入图像描述

该错误也确实发生在原始答案的小提琴中。我想知道这是什么类型的错误以及如何修复它。

我包含 Firefox 标签,因为我认为这不是正常的浏览器行为。我的版本是61.0.2(64位)。

javascript xslt firefox domparser

4
推荐指数
1
解决办法
932
查看次数

如何在Ace Editor中格式化XML代码?

我正在使用ACE Editor在我的网页上显示xml内容.我想在Editor中格式化xml代码.

可以任何人告诉我该怎么做?

javascript ace-editor

3
推荐指数
1
解决办法
1万
查看次数