<?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 Re: How can I search all the XML nested data? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339660#M100741</link>
    <description>&lt;P&gt;Thank you very much for your update. &lt;/P&gt;

&lt;P&gt;I executed the search and found that "Count" value is listed on the wrong record.&lt;BR /&gt;
In the source file, Count=100 is related to "Product" and Count=50 is related to "Exchange"&lt;BR /&gt;
but it looks Count values are moved to top.&lt;/P&gt;

&lt;P&gt;I inserted | eval Count = if(isnull(Count), 0, Count) but it didn't work..&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;1   Contract    800 100
2   Product 0   50
3   Base    4500    0
4   Exchange    1000    0
5   Cabling 10400   0
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Is there any way to properly correlate field values?&lt;BR /&gt;
Here is the expected result.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;    1   Contract    800 0
    2   Product 0   100
    3   Base    4500    0
    4   Exchange    1000    50
    5   Cabling 10400   0
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 03 Aug 2017 00:52:51 GMT</pubDate>
    <dc:creator>Mtakahashi</dc:creator>
    <dc:date>2017-08-03T00:52:51Z</dc:date>
    <item>
      <title>How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339656#M100737</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;

&lt;P&gt;I need to search all XML tagged data including nested data but I only get first data by a search command.&lt;BR /&gt;
Please help me how can I search all the XML data? Splunk version is 6.5.3&lt;/P&gt;

&lt;P&gt;Here are details&lt;BR /&gt;
  (1) source XML file&lt;BR /&gt;
  (2) props.conf&lt;BR /&gt;
  (3) transforms.conf&lt;BR /&gt;
  (4) Search SPL&lt;BR /&gt;
  (5) Search result (screen shot)&lt;/P&gt;

&lt;P&gt;(1) source XML file (Samle_XML_for_answers.xml)&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;?xml version="1.0" encoding="Shift-JIS"?&amp;gt;&amp;lt;Root&amp;gt;&amp;lt;DataArea&amp;gt;&amp;lt;Businessname&amp;gt;12345&amp;lt;/Businessname&amp;gt;&amp;lt;Contractcd&amp;gt;ABC1234567890&amp;lt;/Contractcd&amp;gt;&amp;lt;ReceptNumber&amp;gt;C12345&amp;lt;/ReceptNumber&amp;gt;&amp;lt;ChargeList&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Contract&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;800&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Product&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;0&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Base&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;4500&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Exchange&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;1000&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Cabling&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;10400&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;/ChargeList&amp;gt;&amp;lt;PreviousALService&amp;gt;&amp;lt;/PreviousALService&amp;gt;&amp;lt;/DataArea&amp;gt;&amp;lt;/Root&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;(2) props.conf&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[(mysourcetype)]
CHARSET = SJIS
NO_BINARY_CHECK =1
pulldown_type = 1
REPORT-xmlkv = xmlkv-sample
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;(3) transforms.conf&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[xmlkv-sample]
REGEX = &amp;lt;([^\s\&amp;gt;]*)[^\&amp;gt;]*\&amp;gt;([^&amp;lt;]*)\&amp;lt;\/\1\&amp;gt;
FORMAT = $1::$2
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;(4) Search SPL&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;source="Samle_XML_for_answers.xml"
 | table Businessname, Contractcd, ReceptNumber, Ratingname, Aprice, Count, PreviousALService
 | transpose
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;(5) Search result (screen shot)&lt;/P&gt;

&lt;P&gt;&lt;IMG src="https://community.splunk.com/storage/temp/208747-search-result.png" alt="alt text" /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 15:07:23 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339656#M100737</guid>
      <dc:creator>Mtakahashi</dc:creator>
      <dc:date>2020-09-29T15:07:23Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339657#M100738</link>
      <description>&lt;P&gt;@Mtakahashi, I uploaded your sample data with &lt;CODE&gt;KV_MODE=xml&lt;/CODE&gt; defined in the sourcetype.&lt;BR /&gt;
I was able to get &lt;STRONG&gt;Ratingname&lt;/STRONG&gt; and &lt;STRONG&gt;Aprice&lt;/STRONG&gt; automatically extracted at search time as Multi Valued fields Root.DataArea.ChargeList.Charge.Ratingname and Root.DataArea.ChargeList.Charge.Aprice respectively:&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="alt text"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/3291iAC6E8394CED49EB8/image-size/large?v=v2&amp;amp;px=999" role="button" title="alt text" alt="alt text" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;Refer to documentation: &lt;A href="https://docs.splunk.com/Documentation/Splunk/latest/Knowledge/Automatickey-valuefieldextractionsatsearch-time#Automatic_key-value_field_extraction_and_the_sequence_of_search_operations"&gt;https://docs.splunk.com/Documentation/Splunk/latest/Knowledge/Automatickey-valuefieldextractionsatsearch-time#Automatic_key-value_field_extraction_and_the_sequence_of_search_operations&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Alternatively you can also try using spath at search time to parse XML Data. Following is a run anywhere search based on your data:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| makeresults 
| eval xmlData="&amp;lt;?xml version=\"1.0\" encoding=\"Shift-JIS\"?&amp;gt;&amp;lt;Root&amp;gt;&amp;lt;DataArea&amp;gt;&amp;lt;Businessname&amp;gt;12345&amp;lt;/Businessname&amp;gt;&amp;lt;Contractcd&amp;gt;ABC1234567890&amp;lt;/Contractcd&amp;gt;&amp;lt;ReceptNumber&amp;gt;C12345&amp;lt;/ReceptNumber&amp;gt;&amp;lt;ChargeList&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Contract&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;800&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Product&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;0&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Base&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;4500&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Exchange&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;1000&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Cabling&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;10400&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;/ChargeList&amp;gt;&amp;lt;PreviousALService&amp;gt;&amp;lt;/PreviousALService&amp;gt;&amp;lt;/DataArea&amp;gt;&amp;lt;/Root&amp;gt;"
| spath input=xmlData path=Root.DataArea.ChargeList.Charge.Ratingname output=Ratingname
| spath input=xmlData path=Root.DataArea.ChargeList.Charge.Aprice output=Aprice
| eval Charge=mvzip(Aprice,Ratingname)
| table Charge
| mvexpand Charge
| eval Charge=split(Charge,",")
| eval Aprice=mvindex(Charge,0)
| eval Ratingname=mvindex(Charge,1)
| table Aprice Ratingname
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 01 Aug 2017 10:34:48 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339657#M100738</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2017-08-01T10:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339658#M100739</link>
      <description>&lt;P&gt;Hi, niketnilay&lt;BR /&gt;
Many thanks for your reply. I could get XML data with using spath.&lt;BR /&gt;
However, it didnt work for another sample XML data it has some "Count" value.&lt;/P&gt;

&lt;P&gt;Here is another XML sample.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;?xml version="1.0" encoding="Shift-JIS"?&amp;gt;&amp;lt;Root&amp;gt;&amp;lt;DataArea&amp;gt;&amp;lt;Businessname&amp;gt;12347&amp;lt;/Businessname&amp;gt;&amp;lt;Contractcd&amp;gt;ABC1234567892&amp;lt;/Contractcd&amp;gt;&amp;lt;ReceptNumber&amp;gt;C12347&amp;lt;/ReceptNumber&amp;gt;&amp;lt;ChargeList&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Contract&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;800&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Product&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;0&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;100&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Base&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;4500&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Exchange&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;1000&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;50&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Cabling&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;10400&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;/ChargeList&amp;gt;&amp;lt;PreviousALService&amp;gt;&amp;lt;/PreviousALService&amp;gt;&amp;lt;/DataArea&amp;gt;&amp;lt;/Root&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;and this is a search I executed&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;source="Samle_XML_for_answers3.xml"
 | spath output=Ratingname path=Root.DataArea.ChargeList.Charge.Ratingname
 | spath output=Aprice path=Root.DataArea.ChargeList.Charge.Aprice
 | spath output=Count path=Root.DataArea.ChargeList.Charge.Count
 | eval Charge=mvzip(mvzip(Ratingname, Aprice, ","), Count, ",")
 | mvexpand Charge
 | eval Charge=split(Charge,",")
 | eval Ratingname=mvindex(Charge,0) 
 | eval Aprice=mvindex(Charge,1) 
 | eval Count=mvindex(Charge,2)
 | table Ratingname, Aprice, Count
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Then, I only get 2 records with inproper "Count" values&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;        Ratingname  Aprice  Count
    1   Contract    800 100
    2   Product 0   50
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I expected to get 5 records&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;         Ratingname    Aprice    Count
     1    Contract    800
     2    Product    0    100
     3    Base    4500
     4    Exchange    1000    50
     5    Cabling    10400
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Can you please let me know how can I get all the 5 record values..&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2017 08:16:36 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339658#M100739</guid>
      <dc:creator>Mtakahashi</dc:creator>
      <dc:date>2017-08-02T08:16:36Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339659#M100740</link>
      <description>&lt;P&gt;&lt;STRONG&gt;[Updated Answer]&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;Seems like there will not be any other way but to fill empty count XML data as 0 in the raw data itself : &lt;CODE&gt;| eval xmlData=replace(xmlData, "&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;", "&amp;lt;Count&amp;gt;0&amp;lt;/Count&amp;gt;")&lt;/CODE&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;   | makeresults
   | eval xmlData="
 &amp;lt;?xml version=\"1.0\" encoding=\"Shift-JIS\"?&amp;gt;&amp;lt;Root&amp;gt;&amp;lt;DataArea&amp;gt;&amp;lt;Businessname&amp;gt;12347&amp;lt;/Businessname&amp;gt;&amp;lt;Contractcd&amp;gt;ABC1234567892&amp;lt;/Contractcd&amp;gt;&amp;lt;ReceptNumber&amp;gt;C12347&amp;lt;/ReceptNumber&amp;gt;&amp;lt;ChargeList&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Contract&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;800&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Product&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;0&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;100&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Base&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;4500&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Exchange&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;1000&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;50&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Cabling&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;10400&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;/ChargeList&amp;gt;&amp;lt;PreviousALService&amp;gt;&amp;lt;/PreviousALService&amp;gt;&amp;lt;/DataArea&amp;gt;&amp;lt;/Root&amp;gt;
 "
   | eval xmlData=replace(xmlData, "&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;", "&amp;lt;Count&amp;gt;0&amp;lt;/Count&amp;gt;")
   | spath input=xmlData output=Ratingname path=Root.DataArea.ChargeList.Charge.Ratingname
   | spath input=xmlData output=Aprice path=Root.DataArea.ChargeList.Charge.Aprice
   | spath input=xmlData output=Count path=Root.DataArea.ChargeList.Charge.Count
   | eval iteratorMV=mvrange(0,mvcount(Ratingname),1)
   | mvexpand iteratorMV  
   | eval Ratingname=mvindex(Ratingname,iteratorMV)
   | eval Aprice=mvindex(Aprice,iteratorMV)
   | eval Count=mvindex(Count,iteratorMV)
   | table Ratingname Aprice Count
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;HR /&gt;

&lt;P&gt;Since your Count field is null  you have less number of multi-valued fields in the Count field. Because of this the mvzip command is stitching only those multivalued fields corresponding to which there is Count data. You need a different approach here:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| makeresults
| eval xmlData="
&amp;lt;?xml version=\"1.0\" encoding=\"Shift-JIS\"?&amp;gt;&amp;lt;Root&amp;gt;&amp;lt;DataArea&amp;gt;&amp;lt;Businessname&amp;gt;12347&amp;lt;/Businessname&amp;gt;&amp;lt;Contractcd&amp;gt;ABC1234567892&amp;lt;/Contractcd&amp;gt;&amp;lt;ReceptNumber&amp;gt;C12347&amp;lt;/ReceptNumber&amp;gt;&amp;lt;ChargeList&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Contract&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;800&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Product&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;0&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;100&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Base&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;4500&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Exchange&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;1000&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;50&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;Charge&amp;gt;&amp;lt;Ratingname&amp;gt;Cabling&amp;lt;/Ratingname&amp;gt;&amp;lt;Aprice&amp;gt;10400&amp;lt;/Aprice&amp;gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&amp;lt;/Charge&amp;gt;&amp;lt;/ChargeList&amp;gt;&amp;lt;PreviousALService&amp;gt;&amp;lt;/PreviousALService&amp;gt;&amp;lt;/DataArea&amp;gt;&amp;lt;/Root&amp;gt;
"
  | spath input=xmlData output=Ratingname path=Root.DataArea.ChargeList.Charge.Ratingname
  | spath input=xmlData output=Aprice path=Root.DataArea.ChargeList.Charge.Aprice
  | spath input=xmlData output=Count path=Root.DataArea.ChargeList.Charge.Count
  | eval iteratorMV=mvrange(0,mvcount(Ratingname),1)
  | mvexpand iteratorMV  
  | eval Ratingname=mvindex(Ratingname,iteratorMV)
  | eval Aprice=mvindex(Aprice,iteratorMV)
  | eval Count=if(isnull(mvindex(Count,iteratorMV)),0,mvindex(Count,iteratorMV))
  | table Ratingname Aprice Count 
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;PS: Using the &lt;CODE&gt;mvrange()&lt;/CODE&gt; command I have created a dummy iterator assuming RatingName will always be present in XML Data. With &lt;CODE&gt;mvindex()&lt;/CODE&gt; command, I am  creating single value fields and for Count I have replaced with 0 when &lt;CODE&gt;mvindex()&lt;/CODE&gt; returns null.&lt;/P&gt;

&lt;P&gt;Read Documentation for details for working with Multi Valued fields: &lt;A href="http://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions"&gt;http://docs.splunk.com/Documentation/Splunk/latest/SearchReference/MultivalueEvalFunctions&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2017 10:23:02 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339659#M100740</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2017-08-02T10:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339660#M100741</link>
      <description>&lt;P&gt;Thank you very much for your update. &lt;/P&gt;

&lt;P&gt;I executed the search and found that "Count" value is listed on the wrong record.&lt;BR /&gt;
In the source file, Count=100 is related to "Product" and Count=50 is related to "Exchange"&lt;BR /&gt;
but it looks Count values are moved to top.&lt;/P&gt;

&lt;P&gt;I inserted | eval Count = if(isnull(Count), 0, Count) but it didn't work..&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;1   Contract    800 100
2   Product 0   50
3   Base    4500    0
4   Exchange    1000    0
5   Cabling 10400   0
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Is there any way to properly correlate field values?&lt;BR /&gt;
Here is the expected result.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;    1   Contract    800 0
    2   Product 0   100
    3   Base    4500    0
    4   Exchange    1000    50
    5   Cabling 10400   0
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 03 Aug 2017 00:52:51 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339660#M100741</guid>
      <dc:creator>Mtakahashi</dc:creator>
      <dc:date>2017-08-03T00:52:51Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339661#M100742</link>
      <description>&lt;P&gt;I have updated my answer. You will have to replace &lt;CODE&gt;&amp;lt;Count&amp;gt;&amp;lt;/Count&amp;gt;&lt;/CODE&gt; with &lt;CODE&gt;&amp;lt;Count&amp;gt;0&amp;lt;/Count&amp;gt;&lt;/CODE&gt; in your raw data.&lt;/P&gt;</description>
      <pubDate>Thu, 03 Aug 2017 04:27:43 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339661#M100742</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2017-08-03T04:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339662#M100743</link>
      <description>&lt;P&gt;Thanks for your confirmation. I really appreciate to your help!&lt;/P&gt;</description>
      <pubDate>Thu, 03 Aug 2017 04:56:14 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339662#M100743</guid>
      <dc:creator>Mtakahashi</dc:creator>
      <dc:date>2017-08-03T04:56:14Z</dc:date>
    </item>
    <item>
      <title>Re: How can I search all the XML nested data?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339663#M100744</link>
      <description>&lt;P&gt;@Mtakahashi, please accept and up vote the answer if it has helped.&lt;/P&gt;</description>
      <pubDate>Thu, 03 Aug 2017 06:22:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-can-I-search-all-the-XML-nested-data/m-p/339663#M100744</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2017-08-03T06:22:22Z</dc:date>
    </item>
  </channel>
</rss>

