質問編集履歴

9

詳細を追記

2015/03/03 09:35

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- xml.etree.ElementTreeを使ってXMLパースをしたいと思っています。
5
+ XPathライクな記法が使えるxml.etree.ElementTreeを使って
6
+
7
+ XMLパースをしたいと思っています。
6
8
 
7
9
 
8
10
 
9
- 以下のコードでxmlの"Hoge"タグ要素値を取得した場合、text変数の型が、
11
+ 以下のコードで、XMLファイルの"Hoge"タグ要素値を取得した場合、text変数の型が、
10
12
 
11
13
  日本語等のマルチバイト文字が含まれる場合unicode型に、そうでない場合string型に自動変換されている様です。
12
14
 
@@ -14,7 +16,9 @@
14
16
 
15
17
  これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
16
18
 
17
- 現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
19
+ 現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
20
+
21
+
18
22
 
19
23
  ```lang-xml
20
24
 

8

xmlサンプルを追記

2015/03/03 09:35

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -18,11 +18,11 @@
18
18
 
19
19
  ```lang-xml
20
20
 
21
- <xml>
21
+ <Test>
22
22
 
23
23
  <Hoge>日本語</Hoge>
24
24
 
25
- </xml>
25
+ </Test>
26
26
 
27
27
  ```
28
28
 

7

xmlサンプルを追記

2015/03/03 09:31

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,16 @@
16
16
 
17
17
  現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
18
18
 
19
+ ```lang-xml
20
+
21
+ <xml>
22
+
23
+ <Hoge>日本語</Hoge>
24
+
25
+ </xml>
26
+
27
+ ```
28
+
19
29
  ```lang-python
20
30
 
21
31
  import xml.etree.ElementTree as ET

6

コードが一部冗長だったので修正

2015/03/03 09:30

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -22,8 +22,6 @@
22
22
 
23
23
  root = ET.fromstring(xml)
24
24
 
25
- root.findtext(".//Hoge")
26
-
27
25
  text = root.findtext(".//Hoge")
28
26
 
29
27
  ```

5

タイトル変更

2015/02/27 12:49

投稿

panda_bk
panda_bk

スコア99

test CHANGED
@@ -1 +1 @@
1
- ElementTreeでマルチバイト文字を扱う方法
1
+ ElementTreeでマルチバイト文字をスマートに扱う方法
test CHANGED
File without changes

4

改訂

2015/02/27 12:48

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
16
16
 
17
- 現状は後続処理でunicode型の場合はencode("cp932")みたいな変換ロジックを入れざるを得ない状況です。
17
+ 現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
18
18
 
19
19
  ```lang-python
20
20
 

3

改訂

2015/02/27 12:44

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  以下のコードでxmlの"Hoge"タグ要素値を取得した場合、text変数の型が、
10
10
 
11
- 日本語等のマルチバイトが含まれる場合unicode型に、シングルバイトstring型に自動変換されている様です。
11
+ 日本語等のマルチバイト文字が含まれる場合unicode型に、そうでい場合string型に自動変換されている様です。
12
12
 
13
13
 
14
14
 

2

改訂

2015/02/27 12:43

投稿

panda_bk
panda_bk

スコア99

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
16
16
 
17
- この動きの為、現状は後続処理でunicode型の場合はencode("cp932")みたいな変換ロジックを入れざるを得ない状況です。
17
+ 現状は後続処理でunicode型の場合はencode("cp932")みたいな変換ロジックを入れざるを得ない状況です。
18
18
 
19
19
  ```lang-python
20
20
 

1

タイトル変更

2015/02/27 12:42

投稿

panda_bk
panda_bk

スコア99

test CHANGED
@@ -1 +1 @@
1
- cElementTreeでマルチバイト文字を扱う方法
1
+ ElementTreeでマルチバイト文字を扱う方法
test CHANGED
File without changes