使用.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,但也许我只是错过了它。
答案 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