質問するログイン新規登録

質問編集履歴

1

追記

2018/04/13 05:04

投稿

hayataka2049
hayataka2049

スコア30939

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,20 @@
11
11
  ```
12
12
  このような場合、どのように取り扱うのが適当でしょうか?
13
13
 
14
- よろしくおねがいします。
14
+ よろしくおねがいします。
15
+
16
+ ### 追記
17
+ 色々試してみたところ、Element.attrib["f"]でアクセスすると日本語(ユニコード文字)になるようでした。また、「取り出されたもののルート」だけ数値文字参照に化けることが判明しました。
18
+
19
+ ```python
20
+ >>> from lxml import etree
21
+ >>> tree = etree.fromstring('<root><hoge h="ほげ"><fuga f="ふが"><piyo p="ぴよ"></piyo></fuga></hoge></root>')
22
+ >>> etree.tostring(tree, encoding="utf-8").decode()
23
+ '<root><hoge h="ほげ"><fuga f="ふが"><piyo p="ぴよ"/></fuga></hoge></root>'
24
+ >>> etree.tostring(tree[0], encoding="utf-8").decode()
25
+ '<hoge h="&#x307B;&#x3052;"><fuga f="ふが"><piyo p="ぴよ"/></fuga></hoge>'
26
+ >>> tree[0].attrib["h"]
27
+ 'ほげ'
28
+ ```
29
+
30
+ これはlxmlのバグかもしれませんが、今のところ既知の報告や関連情報を見つけられていないので、もう少し調べて出てこなければバグレポートでも投げてみます。