<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Jakob,</p>
    <p>You can try jsonix. I use something like:</p>
    <p>var Jsonix = require('jsonix').Jsonix;<br>
      var XLink_1_0 = require('w3c-schemas').XLink_1_0;<br>
      var OWS_1_0_0 = require('ogc-schemas').OWS_1_0_0;<br>
      var OWS_1_1_0 = require('ogc-schemas').OWS_1_1_0;<br>
      var WFS_1_0_0 = require('ogc-schemas').WFS_1_0_0;<br>
      var WFS_1_1_0 = require('ogc-schemas').WFS_1_1_0;<br>
      var WFS_2_0 = require('ogc-schemas').WFS_2_0;<br>
      var Filter_1_0_0 = require('ogc-schemas').Filter_1_0_0;<br>
      var Filter_1_1_0 = require('ogc-schemas').Filter_1_1_0;<br>
      var Filter_2_0 = require('ogc-schemas').Filter_2_0;<br>
      var GML_1_0_0 = require('ogc-schemas').GML_1_0_0;<br>
      var GML_2_1_2 = require('ogc-schemas').GML_2_1_2;<br>
      var GML_3_1_1 = require('ogc-schemas').GML_3_1_1;<br>
      var GML_3_2_0 = require('ogc-schemas').GML_3_2_0;<br>
      var GML_3_2_1 = require('ogc-schemas').GML_3_2_1;<br>
      var SMIL_2_0 = require('ogc-schemas').SMIL_2_0;<br>
      var SMIL_2_0_Language = require('ogc-schemas').SMIL_2_0_Language;<br>
      var CSW_2_0_2 = require('ogc-schemas').CSW_2_0_2;<br>
      var DC_1_1 = require('ogc-schemas').DC_1_1;<br>
      var DCT = require('ogc-schemas').DCT;<br>
      var XMLSchema = require('./mappings/XMLSchema').XMLSchema;<br>
      <br>
      var context = new Jsonix.Context([<br>
        XLink_1_0,<br>
        OWS_1_0_0,<br>
        OWS_1_1_0,<br>
        WFS_1_0_0,<br>
        WFS_1_1_0,<br>
        WFS_2_0,<br>
        Filter_1_0_0,<br>
        Filter_1_1_0,<br>
        Filter_2_0,<br>
        GML_1_0_0,<br>
        GML_2_1_2,<br>
        GML_3_1_1,<br>
        GML_3_2_0,<br>
        GML_3_2_1,<br>
        SMIL_2_0,<br>
        SMIL_2_0_Language,<br>
        CSW_2_0_2,<br>
        DC_1_1,<br>
        DCT,<br>
        XMLSchema<br>
      ]);<br>
      var unmarshaller = context.createUnmarshaller();</p>
    <p>Later, you can transform WFS response to JSON, like:</p>
    <p>    const response = responseBuffer.toString('utf8');<br>
          var result = unmarshaller.unmarshalString(response);<br>
    </p>
    <p>Not so easy, but it works.</p>
    <p>Regards,</p>
    <p>Jorge Gustavo<br>
    </p>
    <div class="moz-cite-prefix">On 30/10/23 14:11, Jakob Miksch via
      QGIS-User wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:VE1PR04MB7487B2D857FB649862967C15E7A1A@VE1PR04MB7487.eurprd04.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="DE">Dear QGIS Server people,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
        <p class="MsoNormal">I have a QGIS Server running. I would like
          to access the WFS Capabilities with JavaScript, more
          specifically I would like to know which WFS layers are
          published by QGIS Server. Unfortunately, QGIS Server only
          supports WFS 1.0.0 and 1.1.0. But the only parser for WFS
          capabilities I have found only support WFS 2.0.0 ( <a
            href="https://github.com/GastonZalba/ol-wfs-capabilities"
            moz-do-not-send="true" class="moz-txt-link-freetext">
            https://github.com/GastonZalba/ol-wfs-capabilities</a> ).  <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Does anyone have a hint how to parse the
          WFS Capabilities from QGIS Server with JavaScript?<br>
          <br>
          best regards,<br>
          Jakob<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <table class="MsoTableGrid"
style="border-width: medium; border-style: none; border-color: initial; font-family: Helvetica; width: 660px;"
        cellspacing="0" cellpadding="0" border="0">
        <tbody>
          <tr style="height: 79.15pt;">
            <td class="" data-preserved-background-color="null"
              style="height: 79.15pt; width: 183.9pt;" width="150"
              valign="bottom">
              <p class="MsoNormal"
style="margin-bottom: 0pt; font-size: 10pt; line-height: normal;"><a
                  id="_Hlk528656578" name="_Hlk528656578"
                  moz-do-not-send="true"><span
                    style="font-size: 10.5pt;"></span></a> <br>
                 <img src="cid:part1.2ZmeRgV0.vMkwF8X3@geomaster.pt"
                  id="0.veaxdfz7gks"
style="font-size: 1rem; width: 198px; height: 91px; aspect-ratio: 198 / 91;"
                  class="" width="198" height="91" border="0"><br>
              </p>
              <p class="MsoNormal"
style="margin-bottom: 0pt; font-size: 10pt; line-height: normal;"><span
                  style="font-size: 8pt;"></span></p>
              <span style="font-size: 10.5pt;"></span><span
                style="font-size: 10pt;"><span style="font-size: 10pt;"></span><span
                  style="font-size: 10pt;"></span></span></td>
            <td class="" data-preserved-background-color="null"
              style="height: 79.15pt; width: 397.9pt; text-align: left;"
              width="531" valign="middle">
              <p class="MsoNormal"
style="margin: 0cm 0cm 0pt 3.65pt; font-size: 10pt; line-height: normal;"><span
                  style="font-size: 10pt;"><span
                    style="font-weight: bolder; font-size: 10pt;"><span
                      style="font-size: 10pt; color: rgb(0, 159, 227);"><span
                        style="color: rgb(3, 151, 255);"><span
                          style="font-size: 11pt;">Jakob Miksch</span></span></span></span></span><span
                  style="font-size: 10pt;"><span
                    style="font-size: 10pt;"><span
                      style="color: rgb(3, 151, 255);"><span
                        style="font-size: 11pt;"><br
                          style="font-size: 11pt;">
                      </span></span></span></span><span
                  style="font-size: 10pt;"><span
                    style="font-weight: bolder;"><font
                      style="font-size: 10pt;" color="#000000">Consultant</font><br
                      style="font-size: 10pt;">
                  </span><br style="font-size: 10pt;">
                </span><span style="font-size: 13.3333px;">+49 170
                  9036956<br>
                  <font color="#00B0F0"><span
                      style="font-size: 10pt; color: rgb(0, 0, 0);">siticom.online</span></font></span></p>
            </td>
          </tr>
          <tr style="height: 36.05pt;">
            <td class="" colspan="1"
              data-preserved-background-color="null"
style="height: 36.05pt; width: 183.9pt; padding: 0cm 5.4pt;" width="776"
              valign="bottom">
              <p class="MsoHeader"
                style="font-size: 8pt; text-align: justify;"><span
                  style="font-size: 8pt;"><span
                    style="font-size: 8pt; color: rgb(0, 176, 240);"><br>
                    <br>
                  </span></span></p>
            </td>
            <td class="" data-preserved-background-color="null"
              style="padding: 0px 0px 0px 5px; line-height: 1;"><span
                style="font-size: 6pt;">siticom GmbH •
                Werner-von-Siemens-Straße 2-6 • 76646 Bruchsal •
                Deutschland<br>
                Geschäftsführer: Jürgen Hatzipantelis, Stefan Höltken<br>
                Sitz der Gesellschaft: Weiterstadt • Amtsgericht
                Darmstadt • HRB 9276<br>
                Umsatzsteuer-ID Nr.: DE 197 925 589</span></td>
          </tr>
        </tbody>
      </table>
      <p><br>
      </p>
      <span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><span
          style="FONT-FAMILY: Arial"><span style="FONT-FAMILY: Arial">
            <div class="WordSection1" style="FONT-FAMILY: Arial">
              <span
                style="FONT-FAMILY: Arial; mso-bookmark: _Hlk528656578">
              </span></div>
          </span></span></span>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
QGIS-User mailing list
<a class="moz-txt-link-abbreviated" href="mailto:QGIS-User@lists.osgeo.org">QGIS-User@lists.osgeo.org</a>
List info: <a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-user">https://lists.osgeo.org/mailman/listinfo/qgis-user</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-user">https://lists.osgeo.org/mailman/listinfo/qgis-user</a>
</pre>
    </blockquote>
  </body>
</html>