使用XSLT从文本文件中删除第一行
我正在使用一个生成文本文件的系统(Maximo)。使用XSLT从文本文件中删除第一行,xslt,flat-file,Xslt,Flat File,我正在使用一个生成文本文件的系统(Maximo)。 我只需要删除文件的第一行。 实现这一点的方法应该是使用XSLT 有什么想法吗?方法是而不是使用XSLT XSLT可以生成文本文件,但不能处理文本文件。它只能处理格式良好的XML。XSLT将只接受有效的XML文件作为输入,而不是常规文本文件。不过,它可以输出文本 (例如,我使用XSLT生成C代码。)如果XSLT处理器支持任意到任意转换(通过FFDs平面文件描述符的二进制xforms),则有可能这样做。您可以将文本包装在节点中,然后使用常规XSLT
我只需要删除文件的第一行。
实现这一点的方法应该是使用XSLT
有什么想法吗?方法是而不是使用XSLT
XSLT可以生成文本文件,但不能处理文本文件。它只能处理格式良好的XML。XSLT将只接受有效的XML文件作为输入,而不是常规文本文件。不过,它可以输出文本
(例如,我使用XSLT生成C代码。)如果XSLT处理器支持任意到任意转换(通过FFDs平面文件描述符的二进制xforms),则有可能这样做。您可以将文本包装在节点中,然后使用常规XSLT模板在该节点上操作,以输出第一个回车后的内容。是的,您可以在XSLT中完成您想要的强> 如果您可以选择XSLT2.0,那么在XSLT2.0中这样做可能会更容易 用小例子解释他的答案: 在XSLT2.0中,:您可以使用该函数读取文件,将其拆分为行(只需忽略第一行)
...
XSLT1.0中的:可以通过假装它是XML来读取平面文本文件
外部实体,并从导致
要扩展的实体
<!DOCTYPE foo [
<!ENTITY bar SYSTEM "bar.txt">
]>
<foo>
&bar;
</foo>
&酒吧;
是否可以使用XSLT将文本文件的内容包装到节点?@NitroxDM-Catch-22。如果在将文件与XSLT一起使用之前需要对其进行处理,则不能使用XSLT进行处理。根据处理器/平台的不同,WebSphere DataPower(SOA设备)支持这种处理方式,不使用XSLT同意,但现在它是唯一可行的选择。@NitroxDM-这就是这里的每个答案试图说的-如果XSLT是您唯一的工具,那么它就无法实现。您必须使用其他工具来实现目标,如果您可以使用其他工具,那么您就有了使用比XSLT更合适的工具的途径。@Ben Blank-XSLT解决方案是完全可能的。查看我的答案。XSLT 2.0可以使用unparsed-text()函数处理非XML文件,XSLT 1.0可以通过将纯文本用作实体引用来使用纯文本。实体引用的技巧非常酷!我希望这对他有用。:-)
<!DOCTYPE foo [
<!ENTITY bar SYSTEM "bar.txt">
]>
<foo>
&bar;
</foo>