Spark-xml Roottag и rowtag неправильно читают xml
Я работаю над 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 ответ
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.
Спасибо, Навин