質問編集履歴

1

追記

2018/04/13 05:04

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,35 @@
25
25
 
26
26
 
27
27
  よろしくおねがいします。
28
+
29
+
30
+
31
+ ### 追記
32
+
33
+ 色々試してみたところ、Element.attrib["f"]でアクセスすると日本語(ユニコード文字)になるようでした。また、「取り出されたもののルート」だけ数値文字参照に化けることが判明しました。
34
+
35
+
36
+
37
+ ```python
38
+
39
+ >>> from lxml import etree
40
+
41
+ >>> tree = etree.fromstring('<root><hoge h="ほげ"><fuga f="ふが"><piyo p="ぴよ"></piyo></fuga></hoge></root>')
42
+
43
+ >>> etree.tostring(tree, encoding="utf-8").decode()
44
+
45
+ '<root><hoge h="ほげ"><fuga f="ふが"><piyo p="ぴよ"/></fuga></hoge></root>'
46
+
47
+ >>> etree.tostring(tree[0], encoding="utf-8").decode()
48
+
49
+ '<hoge h="&#x307B;&#x3052;"><fuga f="ふが"><piyo p="ぴよ"/></fuga></hoge>'
50
+
51
+ >>> tree[0].attrib["h"]
52
+
53
+ 'ほげ'
54
+
55
+ ```
56
+
57
+
58
+
59
+ これはlxmlのバグかもしれませんが、今のところ既知の報告や関連情報を見つけられていないので、もう少し調べて出てこなければバグレポートでも投げてみます。