XML Source

XML Source () is used to read a flat (text) file that is formatted in XML.
The XML Source supports the following parameters:
Behavior
Each XML element enclosed within the specified <Root Tag> ...</Root Tag> is read as one row (record).

Example

For example, given the following input XML file:
<?xml version="1.0"?>
	 
    <cricketers>
        <cricketer type="righty">
            <name>MS Dhoni</name>
            <role>Captain</role>
            <position>Wicket-Keeper</position>
            <salary>9</salary>
        </cricketer>
        <cricketer type="lefty">
            <name>Shikhar Dhawan</name>
            <role>              Batsman</role>
            <position>Point</position>
            <salary>10</salary>
        </cricketer>
        <cricketer type="righty">
            <name>Virat Kohli</name>
            <role>Batsman</role>
            <position>cover</position>
            <salary>11</salary>
        </cricketer>
        <cricketer type="righty">
            <name>Shami</name>
            <role>Bowler</role>
            <position>SquareLeg</position>
            <salary>12</salary>
        </cricketer>
        <cricketer type="lefty">
            <name>Zaheer Khan</name>
            <role>Bowler</role>
            <position>FineLeg</position>
            <salary>13</salary>
        </cricketer>
    </cricketers>
    
If the Root Tag value is "cricketer" , then 5 records are read. They are:
Record 1
    <cricketer type="righty">
        <name>MS Dhoni</name>
        <role>Captain</role>
        <position>Wicket-Keeper</position>
        <salary>9</salary>
    </cricketer>

Record 2
    <cricketer type="lefty">
        <name>Shikhar Dhawan</name>
        <role>              Batsman</role>
        <position>Point</position>
        <salary>10</salary>
    </cricketer>

Record 3
     <cricketer type="righty">
        <name>Virat Kohli</name>
        <role>Batsman</role>
        <position>cover</position>
        <salary>11</salary>
    </cricketer>

Record 4
    <cricketer type="righty">
        <name>Shami</name>
        <role>Bowler</role>
        <position>SquareLeg</position>
        <salary>12</salary>
    </cricketer>

Record 5
    <cricketer type="lefty">
        <name>Zaheer Khan</name>
        <role>Bowler</role>
        <position>FineLeg</position>
        <salary>13</salary>
    </cricketer>


If The Root Tag value is "cricketers" then 1 record is read. There is :
    <cricketers>
        <cricketer type="righty">
            <name>MS Dhoni</name>
            <role>Captain</role>
            <position>Wicket-Keeper</position>
            <salary>9</salary>
        </cricketer>
        <cricketer type="lefty">
            <name>Shikhar Dhawan</name>
            <role>              Batsman</role>
            <position>Point</position>
            <salary>10</salary>
        </cricketer>
        <cricketer type="righty">
            <name>Virat Kohli</name>
            <role>Batsman</role>
            <position>cover</position>
            <salary>11</salary>
        </cricketer>
        <cricketer type="righty">
            <name>Shami</name>
            <role>Bowler</role>
            <position>SquareLeg</position>
            <salary>12</salary>
        </cricketer>
        <cricketer type="lefty">
            <name>Zaheer Khan</name>
            <role>Bowler</role>
            <position>FineLeg</position>
            <salary>13</salary>
        </cricketer>
    </cricketers>


Supported Engines

Map
Reduce
Spark 1.x
RDD
Spark 2.x
RDD
Spark 2.x
Dataset
Apache Beam
2.29.0 Batch
Apache Beam
2.29.0 Streaming
Apache Flink
1.12.0 Batch
Apache Flink
1.12.0 Streaming
Apache Tez
0.9.1
PySpark