Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSLT从文本文件中删除第一行_Xslt_Flat File - Fatal编程技术网

使用XSLT从文本文件中删除第一行

使用XSLT从文本文件中删除第一行,xslt,flat-file,Xslt,Flat File,我正在使用一个生成文本文件的系统(Maximo)。 我只需要删除文件的第一行。 实现这一点的方法应该是使用XSLT 有什么想法吗?方法是而不是使用XSLT XSLT可以生成文本文件,但不能处理文本文件。它只能处理格式良好的XML。XSLT将只接受有效的XML文件作为输入,而不是常规文本文件。不过,它可以输出文本 (例如,我使用XSLT生成C代码。)如果XSLT处理器支持任意到任意转换(通过FFDs平面文件描述符的二进制xforms),则有可能这样做。您可以将文本包装在节点中,然后使用常规XSLT

我正在使用一个生成文本文件的系统(Maximo)。
我只需要删除文件的第一行。
实现这一点的方法应该是使用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>