Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法分析spark中具有复杂嵌套结构的XML_Xml_Scala_Apache Spark - Fatal编程技术网

无法分析spark中具有复杂嵌套结构的XML

无法分析spark中具有复杂嵌套结构的XML,xml,scala,apache-spark,Xml,Scala,Apache Spark,我正在尝试解析复杂的嵌套XML文件。下面是示例dat <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ADIL> <Meta> <AMS Asset_Name="asd" Provider="Level" Product="MOTD" Version_Majo

我正在尝试解析复杂的嵌套XML文件。下面是示例dat

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ADIL>
  <Meta>
    <AMS Asset_Name="asd" Provider="Level" Product="MOTD" Version_Major="1" Version_Minor="0" Description="ZXC" Creation_Date="2009-12-03" Provider_ID="qwer.com" Asset_ID="A12we" Asset_Class="package"/>
    <App_Data App="MOD" Name="ASDF" Value="CableLa1.1"/>
    <App_Data App="MOD" Name="Platform" Value="RTY"/>
    <App_Data App="MOD" Name="Platform" Value="FGH"/>
  </Meta>
  <Asset>
    <Meta>
      <AMS Asset_Name="bnm" Provider="Level Film" Product="MOTD" Version_Major="1" Version_Minor="0" Description="bnj7" Creation_Date="2009-12-03" Provider_ID="levelfilm.com" Asset_ID="DDDB0610072533182333" Asset_Class="title"/>
      App_Data App="rt" Name="Window_Start" Value="2020-12-29T00:00:00"/>
      <App_Data App="MOD" Name="Window_End" Value="2021-12-29T23:59:59"/>
      <App_Data App="MOD" Name="Suggested_Price" Value="16.99"/>
      </Meta>
    <Asset>
      <Meta>
       <AMS Asset_Name="atysd" Provider="Level1" Product="MOTD2" Version_Major="1" Version_Minor="0" Description="ZXCY" Creation_Date="2009-12-03" Provider_ID="qweDFtrr.com" Asset_ID="A12FGwe" Asset_Class="review"/>

App_Data App=“rt”Name=“Window_Start”Value=“2020-12-29T00:00:00”/>
在上面的数据中,我能够使用spark sql获取资产名称、提供者和所有文本元素。 但当我深入研究XML时,问题就出现了。例如,在属性Name=“Window\u Start”中,列名应为Window\u Start,其值应为value=“2020-12-29T00:00:00”。因此,基本上属性的值应该被解析为列名,同样,我必须为XML文件中的所有这类值进行解析。你能告诉我如何做到这一点吗

而且,在源代码中,行标记meta重复两次。我需要将行标记元的所有元素放入各自的列中。例如,在第一个元标记中有一个元素Asset\u Class=package,而在第二个元行标记中,有一个相同的元素具有不同的值Asset\u Class=“title”。我需要标题并将值打包到一列资产类别中。有人能帮忙吗。 多谢各位