我正在使用 javax.xml.transform.Transformer
将 XML 文件转换为 HTML 文件。可能会发生 div
将没有内容,这会导致 Transformer 输出 <div/>
,这会破坏渲染。
我已经搜索并 found “您可以将 xslt 输出更改为 html 而不是 xml 以避免自关闭标签的问题”,但那是针对不同的工具,我想知道: 我该怎么做 javax
Transformer
?
最佳答案
看起来您正常创建转换器,然后使用 Transformer.setOutputProperty设置 METHOD属性为 "html"
例如:
private static final DocumentBuilderFactory sDocumentFactory;
private static DocumentBuilder sDocumentBuilder;
private static DOMImplementation sDomImplementation;
private static final TransformerFactory sTransformerFactory =
TransformerFactory.newInstance();
private static Transformer sTransformer;
static {
sDocumentFactory = DocumentBuilderFactory.newInstance();
sDocumentFactory.setNamespaceAware( true );
sDocumentFactory.setIgnoringComments( true );
sDocumentFactory.setIgnoringElementContentWhitespace( true );
try {
sDocumentBuilder = sDocumentFactory.newDocumentBuilder();
sDomImplementation = sDocumentBuilder.getDOMImplementation();
sTransformer = sTransformerFactory.newTransformer();
sTransformer.setOutputProperty( OMIT_XML_DECLARATION, "yes" );
sTransformer.setOutputProperty( INDENT, "no" );
sTransformer.setOutputProperty( METHOD, "html" );
} catch( final Exception ex ) {
ex.printStackTrace();
}
}
关于java - 如何使 javax Transformer 输出 HTML(无自闭标签)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910963/