0

我正在研究具有如下结构的 xml。

我正在尝试访问标签 2.1.1 及其子属性。因此,我将根标签作为标签 2,将行标签作为标签 2.1.1。下面的代码返回 null。如果我对 tag1 应用相同的逻辑,它工作正常。我在这里想念什么?

   <root>
    <tag1>
     <tag 1.1>a</tag 1.1>
     <tag 1.2>b</tag 1.2>
    </tag1>
    <tag2>
     <tag 2.1>
      <tag 2.1.1>
        <---Multiple tags--->
      </tag 2.1.1>         
     </tag 2.1>
     <tag 2.2>
        <---multiple tags---->
     </tag 2.2> 
    </tag2>
   </root>

df = sqlContext.read.format('com.databricks.spark.xml')\
.options(rootTag='tag2',rowTag='tag 2.1.1') \
.load('s3://xmlpath')
4

1 回答 1

0

tag1 工作,因为你有里面,而有,所以 tag1 和 tag2 不一样。

试试下面

df = sqlContext.read.format('com.databricks.spark.xml')\
.options(rootTag='tag2',rowTag='tag 2.1') \
.load('s3://xmlpath')

您的 XML 标记名称是否有句点符号。如果您有标签结构并且您想引用 parenttag.childtag,则某些情况下可能无济于事。

谢谢,纳文

于 2018-12-18T06:26:57.227 回答