2011-07-26 32 views
0

在java中添加和删除xml中的元素时,只是在删除空白时保持每个节点与xml文档保持一致,而且我无法理解XML样式表。Java风格XML每行只有一个节点,没有空格

以下是目前为止发生的情况。

首先,我有以下XML,

<jobs> 
    <job>Job 1</job> 
    <job>Job 2</job> 
    <job>Job 3</job> 
    <job>Job 4</job> 
</jobs> 

然后我删除的元素之一,它结束了看起来像这样与whitespacewhere的因素是,

<jobs> 
    <job>Job 1</job> 

    <job>Job 3</job> 
    <job>Job 4</job> 
</jobs> 

所以,我想申请我发现下面的样式表,

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:output method="xml" omit-xml-declaration="yes"/> 

    <xsl:strip-space elements="*"/> 

    <xsl:template match="@*|node()"> 
    <xsl:copy> 
    <xsl:apply-templates select="@*|node()"/> 
    </xsl:copy> 
    </xsl:template> 

</xsl:stylesheet> 

哪个让xml出现在一里因为它删除了所有的空格。但我试图保持文件的可读性。

<jobs><job>Job 1</job><job>Job 2</job><job>Job 3</job><job>Job 4</job></jobs> 

我想知道是否有人有样式表来实现这一目标吗?

回答

2

您需要添加indent="yes"<xsl:output

<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>

(此外,您可能要切换到XSL 2.0版)

希望这有助于

+0

太谢谢你了。我很感激。完全按照我以前的方式工作。 – hooligan