質問編集履歴
9
詳細を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
最近、python開発を始めました。(使用バージョンは、python 2.7)
|
2
2
|
|
3
|
-
xml.etree.ElementTreeを使って
|
3
|
+
XPathライクな記法が使えるxml.etree.ElementTreeを使って
|
4
|
+
XMLパースをしたいと思っています。
|
4
5
|
|
5
|
-
以下のコードで
|
6
|
+
以下のコードで、XMLファイルの"Hoge"タグ要素値を取得した場合、text変数の型が、
|
6
7
|
日本語等のマルチバイト文字が含まれる場合unicode型に、そうでない場合string型に自動変換されている様です。
|
7
8
|
|
8
9
|
これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
|
9
|
-
現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
|
10
|
+
現状は後続処理で「unicode型の場合は"encode("cp932")する"」みたいな変換ロジックを入れざるを得ない状況です。
|
11
|
+
|
10
12
|
```lang-xml
|
11
13
|
<Test>
|
12
14
|
<Hoge>日本語</Hoge>
|
8
xmlサンプルを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,9 +8,9 @@
|
|
8
8
|
これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
|
9
9
|
現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
|
10
10
|
```lang-xml
|
11
|
-
<
|
11
|
+
<Test>
|
12
12
|
<Hoge>日本語</Hoge>
|
13
|
-
</
|
13
|
+
</Test>
|
14
14
|
```
|
15
15
|
```lang-python
|
16
16
|
import xml.etree.ElementTree as ET
|
7
xmlサンプルを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,6 +7,11 @@
|
|
7
7
|
|
8
8
|
これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
|
9
9
|
現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
|
10
|
+
```lang-xml
|
11
|
+
<xml>
|
12
|
+
<Hoge>日本語</Hoge>
|
13
|
+
</xml>
|
14
|
+
```
|
10
15
|
```lang-python
|
11
16
|
import xml.etree.ElementTree as ET
|
12
17
|
root = ET.fromstring(xml)
|
6
コードが一部冗長だったので修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,6 +10,5 @@
|
|
10
10
|
```lang-python
|
11
11
|
import xml.etree.ElementTree as ET
|
12
12
|
root = ET.fromstring(xml)
|
13
|
-
root.findtext(".//Hoge")
|
14
13
|
text = root.findtext(".//Hoge")
|
15
14
|
```
|
5
タイトル変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ElementTreeでマルチバイト文字を扱う方法
|
1
|
+
ElementTreeでマルチバイト文字をスマートに扱う方法
|
body
CHANGED
File without changes
|
4
改訂
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
日本語等のマルチバイト文字が含まれる場合unicode型に、そうでない場合string型に自動変換されている様です。
|
7
7
|
|
8
8
|
これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
|
9
|
-
現状は後続処理でunicode型の場合はencode("cp932")みたいな変換ロジックを入れざるを得ない状況です。
|
9
|
+
現状は後続処理でunicode型の場合は"encode("cp932")する"みたいな変換ロジックを入れざるを得ない状況です。
|
10
10
|
```lang-python
|
11
11
|
import xml.etree.ElementTree as ET
|
12
12
|
root = ET.fromstring(xml)
|
3
改訂
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
xml.etree.ElementTreeを使ってXMLパースをしたいと思っています。
|
4
4
|
|
5
5
|
以下のコードでxmlの"Hoge"タグ要素値を取得した場合、text変数の型が、
|
6
|
-
日本語等のマルチバイトが含まれる場合unicode型に、
|
6
|
+
日本語等のマルチバイト文字が含まれる場合unicode型に、そうでない場合string型に自動変換されている様です。
|
7
7
|
|
8
8
|
これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
|
9
9
|
現状は後続処理でunicode型の場合はencode("cp932")みたいな変換ロジックを入れざるを得ない状況です。
|
2
改訂
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
日本語等のマルチバイトが含まれる場合unicode型に、シングルバイトならstring型に自動変換されている様です。
|
7
7
|
|
8
8
|
これをマルチバイトであってもstring型で取得できる様に動きを変える事は出来ないでしょうか?
|
9
|
-
|
9
|
+
現状は後続処理でunicode型の場合はencode("cp932")みたいな変換ロジックを入れざるを得ない状況です。
|
10
10
|
```lang-python
|
11
11
|
import xml.etree.ElementTree as ET
|
12
12
|
root = ET.fromstring(xml)
|
1
タイトル変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
ElementTreeでマルチバイト文字を扱う方法
|
body
CHANGED
File without changes
|