How to Parse the XML logs in Logstash and Convert into Json

i want to convert xml input to json data. The xml format is shown below

<PurchaseOrders>
	<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
		<Address Type="Shipping">
			<Name>Ellen Adams</Name>
			<Street>123 Maple Street</Street>
			<City>Mill Valley</City>
			<State>CA</State>
			<Zip>10999</Zip>
			<Country>USA</Country>
		</Address>
		<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
		<Items>
			<Item PartNumber="872-AA">
				<ProductName>Lawnmower</ProductName>
				<Quantity>1</Quantity>
				<USPrice>148.95</USPrice>
				<Comment>Confirm this is electric</Comment>
			</Item>
			<Item PartNumber="926-AA">
				<ProductName>Baby Monitor</ProductName>
				<Quantity>2</Quantity>
				<USPrice>39.98</USPrice>
				<ShipDate>1999-05-21</ShipDate>
			</Item>
		</Items>
	</PurchaseOrder>
	<PurchaseOrder PurchaseOrderNumber="99505" OrderDate="1999-10-22">
		<Address Type="Shipping">
			<Name>Cristian Osorio</Name>
			<Street>456 Main Street</Street>
			<City>Buffalo</City>
			<State>NY</State>
			<Zip>98112</Zip>
			<Country>USA</Country>
		</Address>
		<Address Type="Billing">
			<Name>Cristian Osorio</Name>
			<Street>456 Main Street</Street>
			<City>Buffalo</City>
			<State>NY</State>
			<Zip>98112</Zip>
			<Country>USA</Country>
		</Address>
		<DeliveryNotes>Please notify me before shipping.</DeliveryNotes>
		<Items>
			<Item PartNumber="456-NM">
				<ProductName>Power Supply</ProductName>
				<Quantity>1</Quantity>
				<USPrice>45.99</USPrice>
			</Item>
		</Items>
	</PurchaseOrder>
	<PurchaseOrder PurchaseOrderNumber="99504" OrderDate="1999-10-22">
		<Address Type="Shipping">
			<Name>Jessica Arnold</Name>
			<Street>4055 Madison Ave</Street>
			<City>Seattle</City>
			<State>WA</State>
			<Zip>98112</Zip>
			<Country>USA</Country>
		</Address>
		<Address Type="Billing">
			<Name>Jessica Arnold</Name>
			<Street>4055 Madison Ave</Street>
			<City>Buffalo</City>
			<State>NY</State>
			<Zip>98112</Zip>
			<Country>USA</Country>
		</Address>
		<Items>
			<Item PartNumber="898-AZ">
				<ProductName>Computer Keyboard</ProductName>
				<Quantity>1</Quantity>
				<USPrice>29.99</USPrice>
			</Item>
			<Item PartNumber="898-AM">
				<ProductName>Wireless Mouse</ProductName>
				<Quantity>1</Quantity>
				<USPrice>14.99</USPrice>
			</Item>
		</Items>
	</PurchaseOrder>
</PurchaseOrders>

You may need to use a multiline codec to combine lines so that the entire XML object is in a single event, then use an xml filter to parse it.

There are many threads that discuss this. Here is one.

Thank You

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.