在 Apache Spark 中解析 XML 数据

Parse XML data in Apache Spark

我需要知道如何在 Spark 中解析 XML 文件。我正在从 kafka 接收流数据,然后需要解析该流数据。

这是我接收数据的 Spark 代码:

directKafkaStream.foreachRDD(rdd ->{
            rdd.foreach(s ->{
                System.out.println("&&&&&&&&&&&&&&&&&" +s._2 );
            });

结果:

<root>
<student>
<name>john</name>
<marks>90</marks>
</student>
</root>

如何传递这些 XML 个元素?

当您处理流数据时,使用 databricks 的 spark-xml 库进行 xml 数据处理会很有帮助。

参考:https://github.com/databricks/spark-xml

谢谢大家..问题解决了。 这是解决方案。

String xml = "<name>xyz</name>";
DOMParser parser = new DOMParser();
try {
    parser.parse(new InputSource(new java.io.StringReader(xml)));
    Document doc = parser.getDocument();
    String message = doc.getDocumentElement().getTextContent();
    System.out.println(message);
} catch (Exception e) {
    // handle SAXException 
}