简体   繁体   English

漂亮的打印-Spark / Scala中的XML单个记录

[英]Pretty print - XML single record in Spark / Scala

I am getting XML data in a single record. 我正在单个记录中获取XML数据。 We have a built-in XML parser capability but have to supply the XML file in a indented / beautified way. 我们具有内置的XML解析器功能,但必须以缩进/美化的方式提供XML文件。

I am new to Spark and Scala. 我是Spark和Scala的新手。 So any inputs on how to beautify / indent / pretty print an XML file in spark / scala would be helpful 因此,有关如何在spark / scala中美化/缩进/漂亮打印XML文件的任何输入都将有所帮助

Sample Input : 样本输入:

<?xml version="1.0" encoding="UTF-8"?><con:REQUEST xmlns:con="http://sample.com/"><Student><StudentID>100234</StudentID><Gender>Male</Gender><Surname>Robert</Surname><Firstname>Mathews</Firstname></Student></con:REQUEST></con:REQUEST>

Expected Output : 预期产量:

<?xml version="1.0" encoding="UTF-8"?>
<con:REQUEST xmlns:con="http://sample.com/">
   <Student>
      <StudentID>100234</StudentID>
      <Gender>Male</Gender>
      <Surname>Robert</Surname>
      <Firstname>Mathews</Firstname>
   </Student>
</con:REQUEST>
val myxml =<?xml version="1.0" encoding="UTF-8"?><con:REQUEST xmlns:con="http://sample.com/"><Student><StudentID>100234</StudentID><Gender>Male</Gender><Surname>Robert</Surname><Firstname>Mathews</Firstname></Student></con:REQUEST></con:REQUEST>

convert above in to scala.xml.Elem I am leaving it to you. 在上面转换为scala.xml.Elem我留给你。 There is a PrettyPrinter class in scala see this example scala cook book 斯卡拉(Scala)中有一个PrettyPrinter类,请参见本示例斯卡拉(Scala)烹饪书

val prettyPrinter = new scala.xml.PrettyPrinter(80, 4)
val myxmlprettyprinted = prettyPrinter.format(myxml)
println(myxmlprettyprinted)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM