我正在使用生成文本文件的系统(Maximo)
我只需删除文件的第一行。
这样做的方法应该是使用XSLT。
有什么想法吗?
答案 0 :(得分:4)
是的,您可以在XSLT中完成您想要的任务!
在XSLT 2.0中这样做可能会更容易,如果这是一个选项。 Michael Kay answered a similar question on the XSL mailing list in 2005.
用小例子解释他的回答:
在XSLT 2.0中:您可以使用unparsed-text()函数读取文件tokenize()以将其拆分为行(并忽略第一行)。< / p>
<xsl:for-each select="tokenize(unparsed-text($in), '\r?\n')">
...
</xsl:for-each>
在XSLT 1.0中:您可以通过假装它是XML来阅读平面文本文件 外部实体,并从导致该外部实体的XML文档中引用它 要扩展的实体。
<!DOCTYPE foo [
<!ENTITY bar SYSTEM "bar.txt">
]>
<foo>
&bar;
</foo>
答案 1 :(得分:0)
使用XSLT的方法不。
XSLT可以生成文本文件,但它不能处理文本文件。它只能处理格式良好的XML。
答案 2 :(得分:0)
XSLT只会将有效的XML文件作为输入,而不是一般的文本文件。但它可以输出文本。
(例如,我使用XSLT生成C代码。)
答案 3 :(得分:0)
如果您的XSLT处理器支持任意转换(通过FFD进行二进制xforms - 平面文件描述符),则有可能执行此操作。您可以将文本包装在一个节点中,然后使用常规XSLT模板在该节点上进行操作,以输出第一次回车后的任何内容。