Spark-xml Roottag и rowtag неправильно читают xml - PullRequest
0 голосов
/ 11 декабря 2018

Я работаю над XML, который имеет структуру, подобную приведенной ниже.

Я пытаюсь получить доступ к тегу 2.1.1 и его дочерним атрибутам.Итак, я дал корневой тег как tag2 и rowtag как тег 2.1.1.Код ниже возвращает ноль.Если я применяю ту же логику к 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')

1 Ответ

0 голосов
/ 18 декабря 2018

tag1 работает, потому что у вас внутри, тогда как has, и поэтому tag1 и tag2 не совпадают.

Попробуйте с ниже

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

Имеются ли в именах ваших тегов XML символ точки,некоторые случаи с точкой могут не помочь, если у вас есть структура тегов, и вы хотите сослаться на parenttag.childtag.

Спасибо, Навин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...