XMLファイルからテキストを抽出しようとしていますが、期待した結果が得られません。XMLファイルからテキストを抽出する
これは私が私の問題を説明するために解析しようとしていますXMLの断片である:
<texto_Quijote_I>
<bloque nombre="prologo">
<autor>
Desocupado lector: sin juramento me podrás creer que quisiera que este;
como será poner, tratando de libertad y cautiverio:
<cita_latin> Non bene pro toto libertas venditur auro.</cita_latin>
Y luego, en el margen, citar a Horacio, o a quien lo dijo. Si tratáredes
del poder de la muerte, acudir luego con:
<cita_latin>
Pallida mors aequo pulsat pede pauperum tabernas,
Regumque turres.
</cita_latin>
Si de la amistad y amor que Dios manda que se tenga al enemigo, entraros
luego al punto por la Escritura Divina, que lo podéis hacer con tantico de
curiosidad, y decir las palabras, por lo menos, del mismo Dios:
<cita_latin>Ego autem dico vobis: diligite inimicos vestros</cita_latin>.
Si tratáredes de malos pensamientos,
acudid con el Evangelio:
<cita_latin>De corde exeunt cogitationes malae</cita_latin>.
Si de la instabilidad de los amigos, ahí está Catón, que os dará su dístico:
<cita_latin>
Donec eris felix, multos numerabis amicos,
tempora si fuerint nubila, solus eris.
</cita_latin>
Y con estos latinicos y otros tales os tendrán siquiera por gramático, que
Y con esto, Dios te dé salud, y a mí no olvide. Vale.
</autor>
</bloque>
</texto_Quijote_I>
私は特定のタグの間のすべてのテキストを抽出しようとしています。だから、例えば私はこれをしようとしていた<autor>..</autor>
タグの間のすべてのテキストを、取得するには:
import xml.etree.ElementTree as ET
tree = ET.parse("file.xml")
root = tree.getroot()
text = ""
for n in root.findall(".//autor"):
text += n.text
しかし、私は、文字列をチェックしたときに、私が取得のみ:
"Desocupado lector: sin juramento me podrás creer que quisiera que este;
como será poner, tratando de libertad y cautiverio:"
は、それがどのように動作するかを、このですか?私は<autor>
と</autor>
の間のすべてのテキストを得ることを期待していた。
文書は、テキストのみのタグのテキストの内容を示しているという。他のものはテキストの一部ではありません(集合とサブセット理論?): 'Element.findall()は、現在の要素の直接の子であるタグを持つ要素だけを見つけます。 Element.find()は特定のタグを持つ最初の子を見つけ、Element.textは要素のテキストコンテンツにアクセスします。 Element.get()は要素の属性にアクセスします: ' また、' xml.etree.ElementTreeモジュールは悪意のあるデータに対して安全ではありません。信頼できないデータや認証されていないデータを解析する必要がある場合は、XMLの脆弱性を参照してください。 –
Adib