Pertanyaan Matikan keluaran header xml di Saxon


Menggunakan .NET versi Saxon 9.4, saya menjalankan baris perintah seperti:

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

dan saya mendapatkan hasil seperti itu

<?xml version="1.0" encoding="UTF-8"?>375

Bagaimana saya bisa mematikan header XML (menghilangkan deklarasi XML) sehingga saya baru saja mendapatkan 375 sebagai output? Saya sudah memeriksanya dokumentasi, tapi mungkin aku hanya merindukannya.


5
2018-02-16 23:02


asal


Jawaban:


Menemukannya...

Saya perlu menambahkan omit-xml-declaration pilihan:

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()"

akan menjadi salah satu cara untuk mencapai ini.


7
2018-02-16 23:27



Berdasarkan komentar ini dari Michael Kay, Anda juga dapat menggunakan parameter baris perintah.

Di bawah ini adalah perintah menggunakan Java:

java -cp saxon9he.jar net.sf.saxon.Transform -s:mytemplate.xsl -xsl:myfile.xml !method=text

Dari bantuan baris perintah:

Saxon-HE 9.8.0.11J dari Saxonica
  Penggunaan: lihat http://www.saxonica.com/documentation/index.html#!using-xsl/commandline
  Format: net.sf.saxon.Transform opsi params
  Pilihan yang tersedia: -? -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
  Gunakan -XYZ :? untuk perincian opsi XYZ
  Params:

 param = value Menetapkan parameter string stylesheet
 + param = filename Mengatur parameter stylesheet document
 ? param = expression Mengatur parameter stylesheet menggunakan XPath
 param = nilai Set parameter serialisasi

1