<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to get multiple values from xml using xpath and spath? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/593913#M206723</link>
    <description>&lt;P class="lia-align-left"&gt;I am trying to get multiple values from xml as shows below&lt;/P&gt;
&lt;P class="lia-align-left"&gt;I have tried xpath and spath and both shows nothing&lt;/P&gt;
&lt;P class="lia-align-left"&gt;I am looking for ResponseCode, SimpleResponseCode and nResponseCode&lt;/P&gt;
&lt;P class="lia-align-left"&gt;here is the sample xml for reference&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="&amp;lt;?xml version=\"1.0\" encoding=\"utf-8\"?&amp;gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"&amp;gt;
    &amp;lt;soapenv:Body&amp;gt;
        &amp;lt;ns3:LogResponse xmlns:ns2=\"http://randomurl.com/sample1\"
                            xmlns:ns3=\"http://randomurl.com/sample2\"&amp;gt;
            &amp;lt;ResponseCode&amp;gt;OK&amp;lt;/ResponseCode&amp;gt;
            &amp;lt;State&amp;gt;Simple&amp;lt;/State&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionName&amp;gt;CHANGED&amp;lt;/TransactionName&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionData&amp;gt;CHANGE_SIMPLE&amp;lt;/TransactionData&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;ServerTime&amp;gt;1649691711637&amp;lt;/ServerTime&amp;gt;
            &amp;lt;SimpleResponseCode&amp;gt;OK&amp;lt;/SimpleResponseCode&amp;gt;
            &amp;lt;nResponseCode&amp;gt;
                &amp;lt;nResponseCode&amp;gt;OK&amp;lt;/nResponseCode&amp;gt;
            &amp;lt;/nResponseCode&amp;gt;
            &amp;lt;USELESS&amp;gt;VALUES&amp;lt;/USELESS&amp;gt;
            &amp;lt;MORE_USELESS&amp;gt;false&amp;lt;/MORE_USELESS&amp;gt;
        &amp;lt;/ns3:LogResponse&amp;gt;
    &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;" 
| xpath outfield=&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 15 Apr 2022 17:39:33 GMT</pubDate>
    <dc:creator>ritesh14</dc:creator>
    <dc:date>2022-04-15T17:39:33Z</dc:date>
    <item>
      <title>How to get multiple values from xml using xpath and spath?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/593913#M206723</link>
      <description>&lt;P class="lia-align-left"&gt;I am trying to get multiple values from xml as shows below&lt;/P&gt;
&lt;P class="lia-align-left"&gt;I have tried xpath and spath and both shows nothing&lt;/P&gt;
&lt;P class="lia-align-left"&gt;I am looking for ResponseCode, SimpleResponseCode and nResponseCode&lt;/P&gt;
&lt;P class="lia-align-left"&gt;here is the sample xml for reference&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="&amp;lt;?xml version=\"1.0\" encoding=\"utf-8\"?&amp;gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"&amp;gt;
    &amp;lt;soapenv:Body&amp;gt;
        &amp;lt;ns3:LogResponse xmlns:ns2=\"http://randomurl.com/sample1\"
                            xmlns:ns3=\"http://randomurl.com/sample2\"&amp;gt;
            &amp;lt;ResponseCode&amp;gt;OK&amp;lt;/ResponseCode&amp;gt;
            &amp;lt;State&amp;gt;Simple&amp;lt;/State&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionName&amp;gt;CHANGED&amp;lt;/TransactionName&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionData&amp;gt;CHANGE_SIMPLE&amp;lt;/TransactionData&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;ServerTime&amp;gt;1649691711637&amp;lt;/ServerTime&amp;gt;
            &amp;lt;SimpleResponseCode&amp;gt;OK&amp;lt;/SimpleResponseCode&amp;gt;
            &amp;lt;nResponseCode&amp;gt;
                &amp;lt;nResponseCode&amp;gt;OK&amp;lt;/nResponseCode&amp;gt;
            &amp;lt;/nResponseCode&amp;gt;
            &amp;lt;USELESS&amp;gt;VALUES&amp;lt;/USELESS&amp;gt;
            &amp;lt;MORE_USELESS&amp;gt;false&amp;lt;/MORE_USELESS&amp;gt;
        &amp;lt;/ns3:LogResponse&amp;gt;
    &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;" 
| xpath outfield=&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Apr 2022 17:39:33 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/593913#M206723</guid>
      <dc:creator>ritesh14</dc:creator>
      <dc:date>2022-04-15T17:39:33Z</dc:date>
    </item>
    <item>
      <title>Re: xpath with namespace search</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/593919#M206726</link>
      <description>&lt;LI-CODE lang="markup"&gt;| makeresults 
| eval _raw="&amp;lt;?xml version=\"1.0\" encoding=\"utf-8\"?&amp;gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"&amp;gt;
    &amp;lt;soapenv:Body&amp;gt;
        &amp;lt;ns3:LogResponse xmlns:ns2=\"http://randomurl.com/sample1\"
                            xmlns:ns3=\"http://randomurl.com/sample2\"&amp;gt;
            &amp;lt;ResponseCode&amp;gt;OK&amp;lt;/ResponseCode&amp;gt;
            &amp;lt;State&amp;gt;Simple&amp;lt;/State&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionName&amp;gt;CHANGED&amp;lt;/TransactionName&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionData&amp;gt;CHANGE_SIMPLE&amp;lt;/TransactionData&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;ServerTime&amp;gt;1649691711637&amp;lt;/ServerTime&amp;gt;
            &amp;lt;SimpleResponseCode&amp;gt;OK&amp;lt;/SimpleResponseCode&amp;gt;
            &amp;lt;nResponseCode&amp;gt;
                &amp;lt;nResponseCode&amp;gt;OK&amp;lt;/nResponseCode&amp;gt;
            &amp;lt;/nResponseCode&amp;gt;
            &amp;lt;USELESS&amp;gt;VALUES&amp;lt;/USELESS&amp;gt;
            &amp;lt;MORE_USELESS&amp;gt;false&amp;lt;/MORE_USELESS&amp;gt;
        &amp;lt;/ns3:LogResponse&amp;gt;
    &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;"
| spath soapenv:Envelope.soapenv:Body.ns3:LogResponse.ResponseCode output=ResponseCode
| spath soapenv:Envelope.soapenv:Body.ns3:LogResponse.SimpleResponseCode output=SimpleResponseCode
| spath soapenv:Envelope.soapenv:Body.ns3:LogResponse.nResponseCode.nResponseCode output=nResponseCode&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 15 Apr 2022 16:58:23 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/593919#M206726</guid>
      <dc:creator>ITWhisperer</dc:creator>
      <dc:date>2022-04-15T16:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to get multiple values from xml using xpath and spath?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/711069#M240097</link>
      <description>&lt;P&gt;Just wanted to put add a &lt;FONT size="5"&gt;xpath&lt;/FONT&gt; command solution that also works, simply as a future reference for users that can go with the &lt;FONT size="5"&gt;spath&lt;/FONT&gt;&amp;nbsp;command solution.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| makeresults
| eval _raw="&amp;lt;?xml version=\"1.0\" encoding=\"utf-8\"?&amp;gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"&amp;gt;
    &amp;lt;soapenv:Body&amp;gt;
      &amp;lt;ns3:LogResponse xmlns:ns2=\"http://randomurl.com/sample1\"
                       xmlns:ns3=\"http://randomurl.com/sample2\"&amp;gt;
        &amp;lt;LogResponse &amp;gt;
            &amp;lt;ResponseCode&amp;gt;OK&amp;lt;/ResponseCode&amp;gt;
            &amp;lt;State&amp;gt;Simple&amp;lt;/State&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionName&amp;gt;CHANGED&amp;lt;/TransactionName&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;Transactions&amp;gt;
                &amp;lt;TransactionData&amp;gt;CHANGE_SIMPLE&amp;lt;/TransactionData&amp;gt;
            &amp;lt;/Transactions&amp;gt;
            &amp;lt;ServerTime&amp;gt;1649691711637&amp;lt;/ServerTime&amp;gt;
            &amp;lt;SimpleResponseCode&amp;gt;OK&amp;lt;/SimpleResponseCode&amp;gt;
            &amp;lt;nResponseCode&amp;gt;
                &amp;lt;nResponseCode&amp;gt;OK&amp;lt;/nResponseCode&amp;gt;
            &amp;lt;/nResponseCode&amp;gt;
            &amp;lt;USELESS&amp;gt;VALUES&amp;lt;/USELESS&amp;gt;
            &amp;lt;MORE_USELESS&amp;gt;false&amp;lt;/MORE_USELESS&amp;gt;
        &amp;lt;/LogResponse&amp;gt;
      &amp;lt;/ns3:LogResponse&amp;gt;
    &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;"
| eval xml=replace(_raw, "^&amp;lt;\?xml.+\?&amp;gt;[\r\n]*", "")   ``` xpath does not like ?xml encoding version and text declaration, so remove```  
| xpath field=xml outfield=ResponseCode "//*[local-name()='ResponseCode']"   ``` use *[local-name()='&amp;lt;value&amp;gt;' to ignore namespace declarations, i.e. xmlns='smomething' ]  ```
| xpath field=xml outfield=SimpleResponseCode "//*[local-name()='SimpleResponseCode']"
| xpath field=xml outfield=nResponseCode "//*[local-name()='nResponseCode']/nResponseCode"&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 10 Feb 2025 04:40:42 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-get-multiple-values-from-xml-using-xpath-and-spath/m-p/711069#M240097</guid>
      <dc:creator>yeahnah</dc:creator>
      <dc:date>2025-02-10T04:40:42Z</dc:date>
    </item>
  </channel>
</rss>

