关闭Saxon中的xml标头输出

And*_*rew 7 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()
Run Code Online (Sandbox Code Playgroud)

我得到了一个结果

<?xml version="1.0" encoding="UTF-8"?>375
Run Code Online (Sandbox Code Playgroud)

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

And*_*rew 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()"
Run Code Online (Sandbox Code Playgroud)

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

  • 您也可以直接从命令行设置序列化参数,例如!method = text(这与omit-xml-declaration完全相同,它也可以防止<和&转义) (5认同)