トップページtech
542コメント171KB

XMLプログラミング

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
単におれが質問したいから立てたぞ!
00021NGNG
IXMLDOMDocument::save
で保存するとUTF8で出力されるのだが
ShiftJISで出力するにはどうすればいいの?
0003デフォルトの名無しさんNGNG
新しい時代を感じさせる良スレ。

====================終了====================
00041NGNG
まだ終了じゃない!
0005デフォルトの名無しさんNGNG
「ポッキーの甘み」

====================終了====================
0006デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/982914729/l50 で聞け
====================終了====================
0007デフォルトの名無しさんNGNG
つーかさ、どうみてもこれじゃねーの?調べたのかよオマエ。
http://alina.acomp.usf.edu/work/xml/dcxjp/apidocs/com.datachannel.xml.om.IXMLDOMDocument.html#setEncodingInfo(com.datachannel.xml.util.IXMLEncodingInfo)
0008デフォルトの名無しさんNGNG
XML って知識分類に使える?
自作アウトラインプロセッサのデータ部分に使おうかと思ってるんだけど。
0009デフォルトの名無しさんNGNG
>>8
止めはしないけど、無駄にコード量が増えるだけと違うか? アプリローカル
なデータフォーマットならバイナリの方がパフォーマンスも全然高いし。
0010デフォルトの名無しさんNGNG
>>9
そうですか。
テキストファイルとしても保存できるから良いかなと思ったんだけどな。
あと別件で XML 勉強しなくてはいけないから良い機会かなと。
0011デフォルトの名無しさんNGNG
>>10
ナレッジマネージメントのソフトか? XML はツリーかリスト構造を記述するにゃ
そこそこ都合が良いけど、グラフ構造扱うと氏ぬよ。まぁ勉強でやってみるなら
別にかまわんけど。XML の使いどころは、いろいろなアプリケーションで使える
汎用フォーマット (つまり会社間の政治が絡んだフォーマット) 程度しか感じて
いないんだけど。HTML みたいに文章中に埋め込まれるマークアップだけなら良い。
でもデータフォーマットに XML だと、データ量に対してタグの量の割合がでか
すぎ。
0012デフォルトの名無しさんNGNG
確かに XML って無意味にデータサイズが大きくなる感じ。
0013デフォルトの名無しさんNGNG
いまどき、心情的にはともかく、*実際上* 数百メガ使っても痛くも痒くもないとおもう
けどなぁ。
皆さんそんなデータサイズにシビアな世界のアプリケーションばかり書いているんですか?

00141NGNG
>>7
これJavaじゃん?
VCでやってんだよMSXMLを
ヘッダーみてもsetEncodingInfoなんてメソッドないよ。
0015デフォルトの名無しさんNGNG
>>14
そりゃぁ、単発クソスレ立てるお前になんて
まともに答えないだろ(w
00161NGNG
あげるの忘れた。
なおこのスレは言語問わず
0017デフォルトの名無しさんNGNG
偉そうな1だな…
0018デフォルトの名無しさんNGNG
>>1
マジレスいたします。
なぜ皆様がこんなに詰めたい対応を取っておられるかといいますと、
すでに下記のようなスレッドが存在しているからです。
つまり、このスレッド自体が実質上がいしゅつ単発質問クソスレなのです。

XML教えて教室
http://pc.2ch.net/test/read.cgi/tech/982914729/
0019デフォルトの名無しさんNGNG
XMLマンセー
0020デフォルトの名無しさんNGNG
つーか圧縮して置いておきたいんだけど?
豆でさえzip形式のromが読めるのに。
豆との関連性はまったく無いけど。
0021このスレは放置でお願いしますNGNG
>>20
お気持ちはわかりますがこっちのスレでやってください。

XML教えて教室
http://pc.2ch.net/test/read.cgi/tech/982914729/
0022デフォルトの名無しさんNGNG
XMLなかなかはやらないねえ。
やっぱ駄目なものは駄目と。
0023デフォルトの名無しさんNGNG
ああ、ダメだからお前は二度とXMLに近づくな。
0024デフォルトの名無しさんNGNG
XML厨のヨカーソ
0025デフォルトの名無しさんNGNG
いやあ、近寄らなくてすむものなら近づきたくないね。
覚えなければいけないことが多すぎ。
0026デフォルトの名無しさんNGNG
XMLなんてダサすぎ。S式で十分。
0027デフォルトの名無しさんNGNG
なんでクソスレが上がってるの?
002825NGNG
だいたい、たかが設定ファイル程度を書くのになんであんなに沢山
<や>を書かなければならないのか。ファイル効率悪すぎ。
それに見た目ダサい。
0029デフォルトの名無しさんNGNG
>>28
手書きするわけじゃないしいいじゃん。
0030デフォルトの名無しさんNGNG
XML の本スレはこちらです。

XML教えて教室
http://pc.2ch.net/test/read.cgi/tech/982914729/
0031デフォルトの名無しさんNGNG
ビクッ. ∧ ∧ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   Σ(゚Д゚;≡;゚д゚) < うお!なんかすごいところに迷い込んじまったぞゴルァ!
       ./ つ つ   \______________________
   〜(_⌒ヽ ドキドキ
      )ノ `Jззз
0032デフォルトの名無しさんNGNG
いまだに
「XMLは遅いから使えない」とか
「XMLは難しいから使えない」とか
いうバカが多くて困る。
シラネーならシラネーっつっとけつーの!
知ったかでsageられるとホントつかれる
0033デフォルトの名無しさんNGNG
「XMLは難しいから使えない」からバカなんだろ。
0034デフォルトの名無しさんNGNG
オレは今のところ関わる機械がないのだが、面白そうじゃん。
スキーマをこってりこてこて作るのなんて結構おもしろそーだ。
0035デフォルトの名無しさんNGNG
test
0036デフォルトの名無しさんNGNG
なんかここ、痛々しくていいね。
0037デフォルトの名無しさんNGNG
>>32 でも遅いでしょ(ショボーン
0038デフォルトの名無しさんNGNG
>>37
JAVAも遅いね。TCPも遅くてやだね
0039デフォルトの名無しさんNGNG
んん?なんかブレークするーあったの?.NETの速度問題とか?

まぁHTTPも「こんな通信プロトコルあってもいいのですか?」みたいな感じで
ここまで来たんだから、適材適所で繁栄して頂く事を希望しますんが。
0040名無しさん@EmacsNGNG

>From: [11] デフォルトの名無しさん <sage>
>Date: 02/02/25 23:47
>
>>>10
>ナレッジマネージメントのソフトか? XML はツリーかリスト構造を記述するにゃ
>そこそこ都合が良いけど、グラフ構造扱うと氏ぬよ。まぁ勉強でやってみるなら
>別にかまわんけど。XML の使いどころは、いろいろなアプリケーションで使える
>汎用フォーマット (つまり会社間の政治が絡んだフォーマット) 程度しか感じて
>いないんだけど。HTML みたいに文章中に埋め込まれるマークアップだけなら良い。
>でもデータフォーマットに XML だと、データ量に対してタグの量の割合がでか
>すぎ。
俺的には>>11で結論がでてるんだが….
0041デフォルトの名無しさんNGNG
グラフ構造、ネットワーク構造扱うと
どのように死ねますか?

ツリーの葉の部分に、他の枝/葉への参照を書くって部分ですか?

CommonLispのS式読み込み機構で、
現在I/O中の部分リストにラベルをつけ、同じ参照が出てきたらそのラベルを書いといて、
グラフ構造の保存/再生を保証するってな仕組みがあったけどー。
0042名無しさん@EmacsNGNG
>>41
やってみれ, 二度としたくなくなるから.

いや〜, その点 lisp はいいね.
0043デフォルトの名無しさんNGNG
なんかfunarg問題と似てるね。
この辺はLisperなら問題点を直ぐに指摘できる気がする。
0044デフォルトの名無しさんNGNG
>>41みたいな機構が標準仕様になくとも
自分でLisp流に実装してやればカイイーケツて事でわ?

って事で、>>11の見解は
巷に掃いて捨てる程居るLisp実装ヲタに乗り越えられますた
0045デフォルトの名無しさんNGNG
だったら始めからlisp使えよ
00461000NGNG
結論:
XML非常に面倒
0047名無しさん@EmacsNGNG
>>46
それ採用.

まぁstandardって意味ではXMLでいいのかもしれん.

>>44
いや, 乗り越えてくれるならそれが一番良いんだよ….
0048デフォルトの名無しさんNGNG
>>1
XMLだけでプログラミングできるの?
0049デフォルトの名無しさんNGNG
>>45
だったらSGMLとDSSSL(Schemeベースのスタイル記述)使えよ
#以上、退行現象
0050nNGNG
>>48
XMLに関するプログラミングをXMLプログラミングって言っても不自然じゃないと思う.
日本語を満足に理解できない方ですか?
0051デフォルトの名無しさんNGNG
XMLなんてデータフォーマットが記述できるだけじゃん
こんなの便利か?
0052デフォルトの名無しさんNGNG
だから面倒だって言ってるじゃん。
データの互換性以外はメリットも無いし。
0053デフォルトの名無しさんNGNG
データの互換性も疑わしいが。
0054デフォルトの名無しさんNGNG
つまり、遅れてきた開発者は、
開発経緯や判断・選択の内容を知らないから、
ちっとやそっとの努力では理解できなくなっちまう
って事ですね。

技術キャッチアップをサボっていると、どうゆう結末になるか、
という良い標本ですな
0055デフォルトの名無しさんNGNG
技術史勉強汁
0056///NGNG
バイナリでデータをファイルに押し込むのもまあその場限りの
プログラムならいかもしれんが、まともなアプリならそれなりに
可搬性のある表現で落す方法を用意する。(でないと、将来的にも不便)
XMLは、広く認められた表現だし、APIも整ってるので、
これを積極的に使っていかないのは損だぞ。
まあグラフ構造向きではないわな。最初から見抜けよそれくらい…。
0057/../../NGNG
そもそも、グラフ構造記述に向いた文字列記述ってあるのか?
つか、構造体でもポインタで記述するしかねぇんだから、
スマート・ポインタの一亜種として、部分構造ラベル使うって事でおっけじゃん?
0058デフォルトの名無しさんNGNG
無知が何かほざいてますな。
0059デフォルトの名無しさんNGNG
煽り屋さん登場!煽り屋さんは、w3c.orgのTRくらいさっと目を通して煽っているのかな(ワラ
0060デフォルトの名無しさんNGNG
>>57
XMLには参照の代用となる記述法が用意されています。
0061デフォルトの名無しさんNGNG
XPathの事言ってる?
0062デフォルトの名無しさんNGNG
>>61
あれのどこが?
0063デフォルトの名無しさんNGNG
グラフ記述は行列のし
0064デフォルトの名無しさんNGNG
XMLは ま じ で たいしたこと無い。丸一日あれば調査は充分。
他者とのインタフェイスには有用。APIがあるから便利というのはろくにコードが書けない馬鹿のたわごと。
0065デフォルトの名無しさんNGNG
>>64
みんなそれくらい理解していると思われ。何を偉そうにしゃべってるか知らんが。
俺も意外とあっけなく理解できてビビったけどな。
0066デフォルトの名無しさんNGNG
頭悪そうな香具師が絡んでるスレってココ?
0067質問NGNG
最近XMLを勉強し始めた者です.
XMLでもともと構造化されている文書を記述したのですが,思った通りに
表現できません.調べたんですが,よくわかりません...
ちなみにプログラムの知識はまったくないです.
やりたいことは,下のXMLのtag3について,IDが1であるものだけをとり出し
て文章を表示させたいです.(つまり,「あえおおお」と表示したい)
文章はtag3の中に直接書き込んでしまったんですが,これがいけないので
しょうか...?
わかる方,よろしくお願いします.

XML----------------------------------------------------------------
<root>
<tag1>
<tag2>
<tag3 ID="1">あ
<tag3 ID="2">い
<tag3 ID="3">う
<tag3 ID="1">え</tag3>
</tag3>
</tag3>
おおお
</tag3>
</tag2>
</tag1>
</root>
---------------------------------------------------------------------
0068質問(上の続き)NGNG
XSL------------------------------------------------------------------
<xsl:template match="/">
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY><xsl:apply-templates select="root"/></BODY>
</HTML>
</xsl:template>
<xsl:template match="root/tag1/tag2">
<xsl:for-each select="//tag3">
<xsl:value-of select="@ID"/>
<xsl:value-of select="tag3"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
--------------------------------------------------------------------
0069デフォルトの名無しさんNGNG
あげ忘れたったのでage
0070デフォルトの名無しさんNGNG
普通エレメントはテキストのみを持つものと、子エレメントのみを持つもの、
テキストも子エレメントも持たないものの3種類の内のどれか。
0071デフォルトの名無しさんNGNG
id重複だって馬鹿か?
0072デフォルトの名無しさんNGNG
id重複って許されるんだっけ?
0073デフォルトの名無しさんNGNG
<xsl:template match="/root/tag1/tag2">
<xsl:apply-templates select="tag3"/>
</xsl:template>

<xsl:template match="text()">
<xsl:if test="../@ID='1'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>
007467-68NGNG
>>70
では,テキストと子エレメントの両方を持つエレメントは普通はないってことですか!?

>>71
え,IDって重複しちゃいけないんですか?そんなことないですよね???
007567-68NGNG
>>73
やってみます!
007667-68NGNG
>>73
なんかエラーメッセージが出たんだけど,そのエラーメッセージが文字化けしてて
読めない...文字コードもなぜか変えられない...欝
0077デフォルトの名無しさんNGNG
MSXSL.EXEを使え
0078デフォルトの名無しさんNGNG
まんせーってどういういみですか?
0079デフォルトの名無しさんNGNG
XMLってDTDとかスキーマの検証ってどうするの?
普通にDTD作ってIE開いても整形のXMLインスタンスだったら
表示されてしまってエラーにならないんだけど
DTD自体の構文が間違ってたらエラーになるけど
DTDとインスタンスが違っててもエラーにならない。

XSVとか使ってるの?
一番シンプルな検証方法をキボンヌ
0080デフォルトの名無しさんNGNG
XMLでDTDとかスキーマの検証ってどうやってるの?
普通にDTDを作ってIEを起動させても検証してないみたい。
DTDとインスタンスがちゃんと一致してなくても表示される。
DTD自体の構文が違うとエラーにはなるけど

XSVとか使ってるの?
一番シンプルなスキーマ検証方法キボンヌ
0081デフォルトの名無しさんNGNG
ゴメン二重になった
微妙に違うけど
鬱ダシ脳
0082デフォルトの名無しさんNGNG
XMLファミリーを列挙してください。
おながいします。

XML、XSL、XSLT、DOM、SAX
0083デフォルトの名無しさんNGNG
ファミリーつーか、XMLとそのクソに群がるハエ、って感じだよね。
0084デフォルトの名無しさんNGNG

        ____      ________
      /      \   /
      |   \XML/ |〜<俺を馬鹿にしやがって・・・
      川川==◆=◆〜 \_______
      川川 _ (・・)   /    ___
    _;   \ | 曲|    .    |  |   |\_
  /      \ _/        . |  |   | |  |\
 /    /     | |         |  |   | |  |::::|
(    (   / \_       .|  |   | |  |::::|
 \   \   /\    ̄ ̄\   |  |   | |  |::::|
  /:\   \      ̄\っ)))) 〜|  |   | |  |::::|
 /:::  \    つ_   | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |:::    \___ )    ̄ ̄| ________ |
 |::::                   .| |            . |.|




0085デフォルトの名無しさんNGNG
>>82
XSLとXSLTは同じではないの?
スタイルシートとそのトランスレータ?
0086デフォルトの名無しさんNGNG
>>82 http://www.w3c.org/TR/ 見れ
0087デフォルトの名無しさんNGNG
XSLはXSLTとXSL FOから構成されるということになってるけど
先にXSLTだけ世に出たから
0088デフォルトの名無しさんNGNG
ホントでしか?
008967-68NGNG
こないだ質問した者です.
>>73
のをやってたらできました!!!
超感動です!
なんと言っていいかわかりませんが,本当にありがとうございます!!!
2chをやってて一番うれしかったかも(笑).
レスくれた人達,ありがとうございました!
0090デフォルトの名無しさんNGNG
XSLとExcelはなにか関係があるんでしょうか?
Excelの拡張子はxlsだし、混乱してます。
0091デフォルトの名無しさんNGNG
↓こいつの言ってることには同意できない。
http://www.users.gr.jp/ml/archive/xml/571.asp

>XMLの利点に関して
>(省略)
>しかし、パフォーマンスは置いといて、データの汎用性という点について
>考えてみるとどうでしょうか?
>例えばAccessで作成したファイルをOracleに移行するとなると、移行プログラムを
>作成したり、いったんCSV形式に変換してからOracleで取り込むなどの手間が
>必要ですよね。同期を考えると定期的に移行バッチ処理も流さないといけませんよね。
> これを元データをXMLで持たせておいて、AccessとOracleの両方で読み込む
>方式にすれば、データの持たせ方もはるかにスッキリしますし、同期処理も考えなくて
>いいですよね。

DB同士のマージに比べたら、XMLに移行する手間って相当なもんだと思うけど。
パフォーマンスの話どっかいっちゃってるし。
それに汎用性とか言ってるけど、何にでも適用できる汎用的なデータなんて
作れる気がしないんだが。
結局はパーサが同じで済むってぐらいの利点しか今のところ見出せない。
XMLの使い所ってなんなんだろうね?
0092デフォルトの名無しさんNGNG
>>91
ひでーなそれ。
今のところ「データ部分は XML 使ってます!」っていうセールストークにしか
なっていない。まぁ繰り返しやツリー構造を成すデータ構造の保管には便利っちゃ
便利なんだが、大抵は name=value の ini 形式と CVS でどうにかなっちゃう
のも事実。
0093デフォルトの名無しさんNGNG
>>91-92
こっちでやってくれ
http://pc3.2ch.net/test/read.cgi/tech/1014718263/l50
009467-68NGNG

この前質問した者です.
>>73で教えてもらった方法でうまくいったのですが,その後に続いてID=2,ID=3も
表示させようと思って,
<xsl:template match="/root/tag1/tag2">
<xsl:apply-templates select="tag3"/>
</xsl:template>
<xsl:template match="text()">
<xsl:if test="../@ID='1'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>

<xsl:template match="text()">
<xsl:if test="../@ID='2'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>

としたら,ID=2のテキストしか表示されませんでした.
本とかを見て,
<xsl:choose>
<xsl:when test="../@ID='2'">・・・</xsl:when>
<xsl:otherwise>・・・</xsl:otherwise>
</xsl:choose>
ってやつでもやってみたんですが,だめでした.なぜ順番に表示されないのでしょうか...
将来的には(もうちょっとわかってきたら)IDの数を読み込んで,その人数分だけID
別にテキストを表示させたいと思っていますが,とりあえずID別ににテキストを表示
させたいです.

たびたび申し訳ないのですが,わかる方よろしくお願いします.
0095デフォルトの名無しさんNGNG
>>90
ネタですか?
XSLとExcelは無関係です。拡張子が似ているだけ。
0096デフォルトの名無しさんNGNG
捻りのないネタとレスですね?
つかXで始まる拡張氏は全て、Excel用に予約してるんじゃないかと
0097デフォルトの名無しさんNGNG
お勧めの本教えてください。
文系でプログラミング経験無しです。
0098デフォルトの名無しさんNGNG
>>97
何したいんだか知らないけどさ、多分板違いだと思うんだよね。
こっちで聞いてみれば?
http://pc.2ch.net/php/
http://pc3.2ch.net/hp/
0099デフォルトの名無しさんNGNG
>>98
ありがとうございます!!
0100デフォルトの名無しさんNGNG
>>94
http://www.asahi-net.or.jp/~ps8a-okzk/xml/xslt10_1/conflict_resolution.html
> これでもなお最も高い優先順位を持ったテンプレートルールが複数存在する場合、 エラ
> ーとなる可能性があります。 XSLT仕様書を読むと、エラーとするか、一番最後に書かれ
> たテンプレートルールを採用するかを、 XSLTプロセッサが選択することになっています。

という理由。

なんか教えてあげたやつがどういう風に動いてるか理解してないんじゃないか
という気もするんだけど、とりあえずこうやればできるよ。

<xsl:template match="/root/tag1/tag2">
<xsl:apply-templates select="tag3//text()">
<xsl:with-param name="i">1</xsl:with-param>
</xsl:apply-templates>

<xsl:apply-templates select="tag3//text()">
<xsl:with-param name="i">2</xsl:with-param>
</xsl:apply-templates>
</xsl:template>

<xsl:template match="text()">
<xsl:param name="i" />
<xsl:if test="../@ID=$i">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>

あるいはその奇妙な書き方のXMLをやめて入門書の例を
真似てみたほうがいいかも?
0101デフォルトの名無しさんNGNG
<age>
■ このスレッドは過去ログ倉庫に格納されています