apachespark中的java解析xml数据

b1zrtrql  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(446)

我需要知道如何在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元素?

nhjlsmyf

nhjlsmyf1#

在处理流数据时,使用databricks的sparkxmllib进行xml数据处理会很有帮助。
参考文献:https://github.com/databricks/spark-xml

6yoyoihd

6yoyoihd2#

谢谢你们。。问题解决了。这是解决办法。

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 
}

相关问题