关闭Saxon中的xml标头输出

时间:2012-02-16 23:02:16

标签: xml xpath saxon

使用.NET版本的Saxon 9.4,我运行命令行,如:

Query.exe -s:myfile.xml -qs:/cruisecontrol/build/msbuild[@success='true']/project[1]/target[@name='GetLatestSource']/message[last()]/text()

我得到了像

这样的结果
<?xml version="1.0" encoding="UTF-8"?>375

如何关闭XML标头(省略XML声明)以便我得到375作为输出?我已经检查了the documentation,但也许我只是错过了它。

2 个答案:

答案 0 :(得分:7)

想出来......

我需要添加omit-xml-declaration选项:

Query.exe -s:myfile.xml -qs:"declare option saxon:output 'omit-xml-declaration=yes'; /cruisecontrol/build/msbuild[@success='true']/project[1]/target[@name='GetLatestSource']/message[last()]/text()"

将是实现这一目标的一种方式。

答案 1 :(得分:2)

根据this comment中的Michael Kay,您还可以使用命令行参数。

以下是使用Java的命令:

{{1}}

从命令行帮助:

  来自Saxonica的Saxon-HE 9.8.0.11J   用法:见http://www.saxonica.com/documentation/index.html#!using-xsl/commandline
  格式:net.sf.saxon.Transform options params
  可用选项: - ? -a -catalog -config -cr -diag -dtd -ea -expand -explain -export -ext -im -init -it -jit -l -lib -license -m -nogo -now -o -opt -or -outval -p -quit -r -relocate -repeat -s -sa -scmin -strip -t -T -target -TB -threads -TJ -Tlevel -Tout -TP -traceout -tree -u -val -versionmsg -warnings -x -xi -xmlversion -xsd -xsdversion -xsiloc -xsl -y
  使用-XYZ:?有关选项XYZ的详细信息   参数:

 param=value           Set stylesheet string parameter
 +param=filename       Set stylesheet document parameter
 ?param=expression     Set stylesheet parameter using XPath
 !param=value          Set serialization parameter