No.2ベストアンサー
- 回答日時:
> さっそく試してみました。
> ですがencodingの値は変わりませんでした・・・
試してみましたけど、変わりますよ。
文字列 → DOM → 文字列 と変換してます。
String msgText = "<aaa><bbb /></aaa>";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(new InputSource(new StringReader(msgText)) );
TransformerFactory tff = TransformerFactory.newInstance();
Transformer tf = tff.newTransformer();
tf.setOutputProperty(OutputKeys.ENCODING, "UTF-7"); // ※ここ
DOMSource ds = new DOMSource(document);
StringWriter sw = new StringWriter(256);
StreamResult rs = new StreamResult(sw);
tf.transform(ds, rs);
System.out.println(sw.toString());
setOutputProperty() をしなければ、UTF-8 になるところを、UTF-7 に
指定してます。
できました!!!ありがとうございます。m(_ _)m
でも、
<?xml version='1/0' encoding='Shift_JIS'?>
<a>
<b>B</b>
<c>C</c>
</a>
てなXMLの文字コードを変換して表示すると、改行がなくなっちゃうんですよね。
<?xml version='1/0' encoding='UTF-8'?><a><b>B</b><c>C</c></a>
みたいに。
これは、我慢するしかないのかなあ。。。
まあ、とりあえずencodingの値を変更することはできました。
詳しい処理をご教授頂き、ありがとうございました。
No.3
- 回答日時:
> てなXMLの文字コードを変換して表示すると、改行がなくなっちゃうんですよね。
いや、改行も #text ですから、改行がなくなっちゃうということは、Document を
改変しているということになってしまうので、それはありませんよ。
# 確かめもせず書いていますけど (^^;
すみません。なんか勘違いしていました。なんでだろ?
改行はなくなっていませんでした。
とにかく、何度も回答頂きありがとうございました。
たいへん参考になりました。
No.1
- 回答日時:
DOM に対して指定するのではなく、Transformer で変換するときに指定することになります。
多分、こんな感じ。
Document doc;
Result result; // ← 適当なのが割りあたっているとして
Transformer tf = TransformerFactory.newInstance().newTransformer();
tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // ← これ
tf.transform(new DOMSource(doc), result);
詳しくは、JAXP のマニュアルの、Transformer#setOutputProperty と
OutputKeys のあたりを参照ください(→参考URL)。
# ごめんなさい、試してません :-)
参考URL:http://java.sun.com/xml/jaxp/dist/1.1/docs/api/i …
回答ありがとうございます。
さっそく試してみました。
ですがencodingの値は変わりませんでした・・・
やはり無理なんでしょうかねえ。
もう少し自分で調べてみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- その他(IT・Webサービス) 見たことのない形式で日付が表示されているのでそれを解析してほしい 3 2023/01/23 16:53
- WordPress(ワードプレス) ワードプレスにて .xmlファイルの使い方をご存知の方、よろしくお願いいたします。 2 2022/09/30 00:55
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- XML Windowsで見かけるxmlファイルってどういうものですか? 1 2022/06/03 14:57
- XML iPhoneでXMLファイルを開くにはどうしたら良いのでしょうか? 1 2022/09/05 18:00
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- iOS Windows10 IME設定について 3 2022/04/07 16:20
- アプリ おすすめのパスワード管理アプリを教えてください。(iOSとWindows対応) 4 2023/01/19 02:08
- 哲学 HEVCコーデックが必要な.mp4を普通の.mp4に変換するソフト 3 2022/12/03 13:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
javascriptで文字列のsjis利用...
-
文字化けします。
-
int型のゼロ埋め
-
JIS8の半角かな文字をUnicodeの...
-
半角カナ文字の変換
-
クエリの結果とレコードセット...
-
エクセルVBAで「〜」が表現でき...
-
カタカナをローマジに変換する。
-
javaで入力したの半角カタカナ...
-
UTF-8とUnicodeの互換性
-
javaの日本語並び替えについて...
-
substring バイト単位でやりたい
-
ASCII コード表の文字から10進に
-
PerlプログラムをJavaに変換す...
-
byte[] を long,float とかに...
-
replace関数で複数の文字の変換...
-
Visual Basic でのコードをASCI...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルクォーテーションのrepla...
-
javaで質問です。 文字列2023/2...
-
Path型をString型へ変換する(Java)
-
javascriptで文字列のsjis利用...
-
Visual Basic でのコードをASCI...
-
カタカナをローマジに変換する。
-
int型のゼロ埋め
-
C言語32bitから64bitの移行につ...
-
substring バイト単位でやりたい
-
UTF-8とUnicodeの互換性
-
COBOLで半角カナを全角カナに変換
-
Windows-31Jからutf-8への変換...
-
JavaのStringクラスに「外字」...
-
byte[] を long,float とかに...
-
IBM漢字コード⇒SJIS変換方法
-
エクセルVBAで「〜」が表現でき...
-
javaで「全角が含まれているか...
-
javaの初歩的な質問です。
-
クエリの結果とレコードセット...
-
[Javascript]エンターキー押下...
おすすめ情報