スレ無いしサイト少ないので立ててみる
いらなかったらサゲまくってください
探検
C++でXML(主にxerces)やろう!
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
NGNG301269
NGNG >>276
かなり遅れましたが、お世話になったので報告。
結局、xerces+Xalanって方向でやりたい事できました。
それもxerces自体は、Xalanを使うためにいれてくだけって感じです。
Documentなどの読み書き、処理はじつは自前で行う部分がを使ってたんですが、
テストしてる段階で、xercesつかっても要件満たせるんじゃないかと
設計見直し中です。
ども、お世話になりました。
かなり遅れましたが、お世話になったので報告。
結局、xerces+Xalanって方向でやりたい事できました。
それもxerces自体は、Xalanを使うためにいれてくだけって感じです。
Documentなどの読み書き、処理はじつは自前で行う部分がを使ってたんですが、
テストしてる段階で、xercesつかっても要件満たせるんじゃないかと
設計見直し中です。
ども、お世話になりました。
302デフォルトの名無しさん
NGNG MiX バージョンアップ age
303デフォルトの名無しさん
NGNG 誰かMiXの最新バージョン使った人いる?
いたらどんなでした?
いたらどんなでした?
304デフォルトの名無しさん
NGNG BCBで無事つかえた。
305デフォルトの名無しさん
NGNG306デフォルトの名無しさん
NGNG いまXercesC++(Mac)やってるけど、さっぱり。。。
サンプルが動かん。
サンプルが動かん。
307デフォルトの名無しさん
NGNG 一ヶ月たったsage
308デフォルトの名無しさん
NGNG MSXML VC++(Win)に変更してはどうか。
サンプルもばっちり動く。
サンプルもばっちり動く。
309デフォルトの名無しさん
NGNG310デフォルトの名無しさん
NGNG tinyなアプリならMiXがいちばんよさげ
311デフォルトの名無しさん
NGNG VS2003でstream.h使えなくなってる・・・・・・
XML4Cのコンパイルできなーい!
しょうがないのでMSXMLにnige
XML4Cのコンパイルできなーい!
しょうがないのでMSXMLにnige
312デフォルトの名無しさん
NGNG あげ
313デフォルトの名無しさん
NGNG DOMをドムと呼ぶのはいいとして、SAXをザクと呼ぶのはやめてくだちい。
314デフォルトの名無しさん
NGNG SAX2はあのジオンの栄光の量産機
315デフォルトの名無しさん
NGNG MSXML+C++でDOMプログラミングをしているのですが,
タグ名の前に接頭辞をつける方法がわかりません.
CreateNodeは名前空間URIを引数として渡せるのですが,
接頭辞を自動的に振ってはくれませんし,XercessのようなsetPrefix関数もありません.
何か良い方法をご存知の方がいらっしゃいましたら教えてください.
タグ名の前に接頭辞をつける方法がわかりません.
CreateNodeは名前空間URIを引数として渡せるのですが,
接頭辞を自動的に振ってはくれませんし,XercessのようなsetPrefix関数もありません.
何か良い方法をご存知の方がいらっしゃいましたら教えてください.
316デフォルトの名無しさん
NGNG 俺的にはXML4Cが好きだな。Xercesは好きくない
317デフォルトの名無しさん
NGNG XMLはおなかがいっぱいになりまつか?
318デフォルトの名無しさん
NGNG XercesでDTD通りに要素を挿入するにはどうしたらいいの?
それともファイルに書き出すときに変換するの?
それともファイルに書き出すときに変換するの?
319デフォルトの名無しさん
NGNG すれ違いかもしれませんが、
Axis使ったことある人いますか?
Axis使ったことある人いますか?
320デフォルトの名無しさん
NGNG MSXMLパーサに、フルアドレス指定してあるDTDの参照先をローカルに
するAPIってないの?
スタンドアロンのPCじゃ、XML使うなってことなんだろーか。
するAPIってないの?
スタンドアロンのPCじゃ、XML使うなってことなんだろーか。
321デフォルトの名無しさん
NGNG DOMとSAXってどっちがいいの?
それぞれの特徴を教えてください。
それぞれの特徴を教えてください。
322デフォルトの名無しさん
NGNG SAX : 一度XMLを舐めるだけでいいならこっち(一度読んだ場所へは戻れない一度きり)
DOM : メモリ上にXML文書の内容を表すDOMのオブジェクト共を作るのでSAXよりは重い(ランダムアクセスが可能)
DOM : メモリ上にXML文書の内容を表すDOMのオブジェクト共を作るのでSAXよりは重い(ランダムアクセスが可能)
323デフォルトの名無しさん
NGNG 結論:SAX >>>>>>>>> DOM
324デフォルトの名無しさん
NGNG ↑のような奴が増える夏到来ですね
325デフォルトの名無しさん
NGNG SAXで自前のデータ構造に読み込み、内部処理。
書き出しはその逆。
これ。
書き出しはその逆。
これ。
326デフォルトの名無しさん
NGNG327デフォルトの名無しさん
NGNG Simple Outline XML >>>>>>>>>>> 普通のXML
328デフォルトの名無しさん
NGNG SGML >>>>>>>>超えられない壁>>>>>>>> XML
329デフォルトの名無しさん
NGNG 天気予報は既存の配信ビジネスを守るためにRSS配信できない
http://neta.ywcafe.net/000339.html
国民の税金で気象データの収集・解析までしておきながら、
気象庁の官僚の天下り先である
・財団法人 気象業務支援センター
・財団法人 日本気象協会
の利権保護の為、未だ気象庁はRSS配信を拒んでいるのだ。
将来的に行われるであろう地震予知の情報も、有料で国民に販売するつもりだろうか?
http://neta.ywcafe.net/000339.html
国民の税金で気象データの収集・解析までしておきながら、
気象庁の官僚の天下り先である
・財団法人 気象業務支援センター
・財団法人 日本気象協会
の利権保護の為、未だ気象庁はRSS配信を拒んでいるのだ。
将来的に行われるであろう地震予知の情報も、有料で国民に販売するつもりだろうか?
330デフォルトの名無しさん
NGNG がんばって探した結果がこのスレか?
XMLスレもあるしRSSならWebProgにある。
つーかRSSっていうより気象庁バッシングしたいなら板違いだろ。
XMLスレもあるしRSSならWebProgにある。
つーかRSSっていうより気象庁バッシングしたいなら板違いだろ。
331デフォルトの名無しさん
NGNG >>330
329 は各地にマルチポスとしてるよ。
329 は各地にマルチポスとしてるよ。
332デフォルトの名無しさん
NGNG #include<Xercesc/util/PlatformUtils.hpp>
#include<Xercesc/util/XMLString.hpp>
#include<Xercesc/dom/DOM.hpp>
using namespace std;
XERCES_CPP_NAMESPACE_USE
#define X(x) XMLString::transcode(x)
int main(){
XMLPlatformUtils::Initialize();
{
DOMImplementation *impl= DOMImplementationRegistry::getDOMImplementation(X(""));
DOMDocumentType *doctype = impl->createDocumentType(
X("html"),
X("-//W3C//DTD XHTML 1.1//EN"),
X("http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd") );
DOMDocument *doc = impl->createDocument(NULL,X("html"),doctype);
}
XMLPlatformUtils::Terminate();
return 0;
}
これをVC7でビルドしようとしたんですが
xml error LNK2020: 未解決のトークン (0A000010) __imp_?fgXercescDefaultLocale@XMLUni@xercesc_2_3@@2QBDB
xml error LNK2020: 未解決のトークン (0A000013) __imp_?fgMemoryManager@XMLPlatformUtils@xercesc_2_3@@2PAVMemoryManager@2@A
xml fatal error LNK1120: 外部参照 2 が未解決です。
というエラーが出るんですが、どう対処すればいいのか分からんのです。誰か助けて。Xersescは2.3っす。
#include<Xercesc/util/XMLString.hpp>
#include<Xercesc/dom/DOM.hpp>
using namespace std;
XERCES_CPP_NAMESPACE_USE
#define X(x) XMLString::transcode(x)
int main(){
XMLPlatformUtils::Initialize();
{
DOMImplementation *impl= DOMImplementationRegistry::getDOMImplementation(X(""));
DOMDocumentType *doctype = impl->createDocumentType(
X("html"),
X("-//W3C//DTD XHTML 1.1//EN"),
X("http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd") );
DOMDocument *doc = impl->createDocument(NULL,X("html"),doctype);
}
XMLPlatformUtils::Terminate();
return 0;
}
これをVC7でビルドしようとしたんですが
xml error LNK2020: 未解決のトークン (0A000010) __imp_?fgXercescDefaultLocale@XMLUni@xercesc_2_3@@2QBDB
xml error LNK2020: 未解決のトークン (0A000013) __imp_?fgMemoryManager@XMLPlatformUtils@xercesc_2_3@@2PAVMemoryManager@2@A
xml fatal error LNK1120: 外部参照 2 が未解決です。
というエラーが出るんですが、どう対処すればいいのか分からんのです。誰か助けて。Xersescは2.3っす。
333デフォルトの名無しさん
NGNG DOMってなんであんなに使いにくいんだろう。
XPathサポートしてる実装じゃないととても使う気になれない
XPathサポートしてる実装じゃないととても使う気になれない
334デフォルトの名無しさん
NGNG335デフォルトの名無しさん
NGNG それにしても例えば要素の子要素をたどるときと要素の属性をたどるときでまったく違うやり方でしょ。
XPathだったら軸がちがうだけで子要素名/属性名をノードテストに使用できる点は一緒なのに、
DOMだと「ある要素のhoge属性の値を取得」だったらgetAttibuteでノードマップをもらって属性名をキーに値をゲットだけど
似たような「ある要素のhoge子要素の値を取得」でまったく違うコードをいっぱい書かなきゃならん。
XPathだったら/@hogeか/hogeかの違いだけだ。
XPathだったら軸がちがうだけで子要素名/属性名をノードテストに使用できる点は一緒なのに、
DOMだと「ある要素のhoge属性の値を取得」だったらgetAttibuteでノードマップをもらって属性名をキーに値をゲットだけど
似たような「ある要素のhoge子要素の値を取得」でまったく違うコードをいっぱい書かなきゃならん。
XPathだったら/@hogeか/hogeかの違いだけだ。
336デフォルトの名無しさん
NGNG >>332
どーやってビルドしようとしたのか、詳しく書かないとわからんヤロ。
Xersescは2.3 の導入方法、vc7はスタンドアロン?(free)、リンカに渡す
pathチェック…。
一番の原因は最後の理由では?(-_-;
どーやってビルドしようとしたのか、詳しく書かないとわからんヤロ。
Xersescは2.3 の導入方法、vc7はスタンドアロン?(free)、リンカに渡す
pathチェック…。
一番の原因は最後の理由では?(-_-;
337デフォルトの名無しさん
NGNG C++でxercesを利用すると一体どんな問題が解決されますか?
338デフォルトの名無しさん
NGNG 水虫が治ります
339デフォルトの名無しさん
NGNG MiX、VC.NETでコンパイルとおらねえよ
340デフォルトの名無しさん
NGNG VC++.NETなのかVC#.NETなのかそもそもスレ違いだバカ
341デフォルトの名無しさん
NGNG C#でやろうとするのはお前だけ
342デフォルトの名無しさん
NGNG >339
typenameをどっかにつけたら通る
でも、そもそもあれだとgccでも通らない気がするけど…
typenameをどっかにつけたら通る
でも、そもそもあれだとgccでも通らない気がするけど…
343デフォルトの名無しさん
NGNG >>342
dクス
えーっと、typenameを付ける場所は二カ所あるです
MiXのバージョンは0.5.3ね
Attribute.h(21)
typedef nodelist_type::iterator nodelist_iter;
↓
typedef typename nodelist_type::iterator nodelist_iter;
NodeList.h(39)
typedef container_type::iterator basic_iterator;
↓
typedef typename container_type::iterator basic_iterator;
あと、凡ミスってかcygwinのgcc3.3.1だと平気だけど、VC++7で引っかかる点
Attribute.h(55)
virtual string_type toString(bool dmy=false,const string_type& dmy=xml_traits::indent(),int dmy2=0)const;
↓
virtual string_type toString(bool dmy=false,const string_type& dmy1=xml_traits::indent(),int dmy2=0)const;
引数の名前がダブってる(;´д⊂)
dクス
えーっと、typenameを付ける場所は二カ所あるです
MiXのバージョンは0.5.3ね
Attribute.h(21)
typedef nodelist_type::iterator nodelist_iter;
↓
typedef typename nodelist_type::iterator nodelist_iter;
NodeList.h(39)
typedef container_type::iterator basic_iterator;
↓
typedef typename container_type::iterator basic_iterator;
あと、凡ミスってかcygwinのgcc3.3.1だと平気だけど、VC++7で引っかかる点
Attribute.h(55)
virtual string_type toString(bool dmy=false,const string_type& dmy=xml_traits::indent(),int dmy2=0)const;
↓
virtual string_type toString(bool dmy=false,const string_type& dmy1=xml_traits::indent(),int dmy2=0)const;
引数の名前がダブってる(;´д⊂)
344デフォルトの名無しさん
NGNG >343
> 引数の名前がダブってる(;´д⊂)
そういえばそんなのもあったね(ニガワラ
んでもって、DOMパーサーにXML食わせてパースに失敗したらリソースリークしたり、
(auto_ptrをparseの中に仕組んだりして対処したような)
開始タグを入れる前に終了タグを入れたりしたら(いきなり </> 見たいに)
STLPortのデバックモードで落ちたり…
(空のstackをpopしてたんだっけかな…)
結局途中で断念してしまった…
> 引数の名前がダブってる(;´д⊂)
そういえばそんなのもあったね(ニガワラ
んでもって、DOMパーサーにXML食わせてパースに失敗したらリソースリークしたり、
(auto_ptrをparseの中に仕組んだりして対処したような)
開始タグを入れる前に終了タグを入れたりしたら(いきなり </> 見たいに)
STLPortのデバックモードで落ちたり…
(空のstackをpopしてたんだっけかな…)
結局途中で断念してしまった…
345デフォルトの名無しさん
NGNG346345
NGNG 感想。
リークはちゃんと調べてないので分かんないけど、
とりあえず、ドキュメントが間違ってるのは何とかして欲しいと思った(;´д`)
まあ、規模はそれなりに小さいので、条件によっては使っても良いんじゃないかと。
リークはちゃんと調べてないので分かんないけど、
とりあえず、ドキュメントが間違ってるのは何とかして欲しいと思った(;´д`)
まあ、規模はそれなりに小さいので、条件によっては使っても良いんじゃないかと。
347デフォルトの名無しさん
NGNG ホシュ
348デフォルトの名無しさん
NGNG ほ
349デフォルトの名無しさん
NGNG C++でXMLいじるとなんかアドバンテージあるの?
350デフォルトの名無しさん
NGNG 悪いけどそういうスレじゃないんだよね
351デフォルトの名無しさん
NGNG >>350
(^o^;)
(^o^;)
352デフォルトの名無しさん
NGNG >>350
そういうスレだろ
そういうスレだろ
353デフォルトの名無しさん
NGNG 違うって。C++のアドバンテージとか言い出すと他の言語による比較論議になる。
そうするともはやC++で〜スレじゃなくなる。
(C++による)MSXMLとXercesの比較などならわかるが、C++を比較対象にするのはちょっと違う。
C++スレでJavaとの比較議論始まったらウザイだろ。それと同じ。
そうするともはやC++で〜スレじゃなくなる。
(C++による)MSXMLとXercesの比較などならわかるが、C++を比較対象にするのはちょっと違う。
C++スレでJavaとの比較議論始まったらウザイだろ。それと同じ。
354デフォルトの名無しさん
NGNG355デフォルトの名無しさん
NGNG stringクラスとboost使えばそうでもないよ。
356デフォルトの名無しさん
NGNG >>354
じゃあスーパープログラマにとってはC++で組んだ方が気持ちいいんですね
じゃあスーパープログラマにとってはC++で組んだ方が気持ちいいんですね
357デフォルトの名無しさん
NGNG C++の場合はXercesじゃないほうがいいじゃん。
ちょっと規模が大きいからもっさりしそう。
単純なパーサ作ればそのアプリのデータだけはきびきび処理できるわけで。
ちょっと規模が大きいからもっさりしそう。
単純なパーサ作ればそのアプリのデータだけはきびきび処理できるわけで。
358デフォルトの名無しさん
NGNG >>357
MiX小さくて(・∀・)イイよ
MiX小さくて(・∀・)イイよ
359デフォルトの名無しさん
NGNG バグバグだけどな
360デフォルトの名無しさん
NGNG 作者ウザイ
361デフォルトの名無しさん
NGNG 無名なのになぜかMiXの名がしばしば出てくるよね
362デフォルトの名無しさん
NGNG MiXでさえ機能多すぎでうぜぇ気がする。
単にパースしてくれれば済む話。
単にパースしてくれれば済む話。
363デフォルトの名無しさん
NGNG キミはちょっと脳たりんだな。
364デフォルトの名無しさん
NGNG 誰か、STLPortのデバッグモードでも落ちない小さなXMLパーサをつk(ry
365デフォルトの名無しさん
NGNG366デフォルトの名無しさん
NGNG hosyu
367デフォルトの名無しさん
NGNG hs
368デフォルトの名無しさん
NGNG xerces-cのminGW用インポートライブラリ作ろうと思って挫折した。難しすぎ。
窓dllの仕組みもよう分からんのに移植しようとか思ったのが甘かったか・・・
窓dllの仕組みもよう分からんのに移植しようとか思ったのが甘かったか・・・
369デフォルトの名無しさん
NGNG pexports/dlltoolで駄目だった?
370368
NGNG 名前マングリングされててどうにもならんす orz
pexportsで抜き出したdefの上4行はこんな惨状
LIBRARY xerces-c_2_6.dll
EXPORTS
??0ASCIIRangeFactory@xercesc_2_6@@QAE@XZ
??0AbstractDOMParser@xercesc_2_6@@IAE@QAVXMLValidator@1@QAVMemoryManager@1@QAVXMLGrammarPool@1@@Z
pexportsで抜き出したdefの上4行はこんな惨状
LIBRARY xerces-c_2_6.dll
EXPORTS
??0ASCIIRangeFactory@xercesc_2_6@@QAE@XZ
??0AbstractDOMParser@xercesc_2_6@@IAE@QAVXMLValidator@1@QAVMemoryManager@1@QAVXMLGrammarPool@1@@Z
371デフォルトの名無しさん
NGNG ここのxerces-c-mingwは使えないだろうか?
http://sourceforge.net/project/showfiles.php?group_id=104669
http://sourceforge.net/project/showfiles.php?group_id=104669
372デフォルトの名無しさん
NGNG てか、ソースからコンパイルすればいいじゃん。
373デフォルトの名無しさん
NGNG ん、たしかに。で、ソースからリコンパイルしてリンクまでいけた。
・・・が、SAXparserのコンストラクタでコケる。
これからデバッグモードでやりなおしてみるつもり。やれやれ・・・。
・・・が、SAXparserのコンストラクタでコケる。
これからデバッグモードでやりなおしてみるつもり。やれやれ・・・。
374デフォルトの名無しさん
NGNG runConfigのオプションは?
-p mingw-msys -n fileonly -r noneで行けた。
pスレにすると、MinGWのDLLがウザいので、pスレをやめると良いと思われ。
-p mingw-msys -n fileonly -r noneで行けた。
pスレにすると、MinGWのDLLがウザいので、pスレをやめると良いと思われ。
375デフォルトの名無しさん
NGNG tinyXMLって名前のとおりtinyなのかな?
パースするだけならこれで良さそうなんだけれど。
パースするだけならこれで良さそうなんだけれど。
376デフォルトの名無しさん
NGNG パースするだけで、高速なのがよければexpatがお薦め!!
安定してるしね。CPPラッパーの、expatppも結構使える。
安定してるしね。CPPラッパーの、expatppも結構使える。
377デフォルトの名無しさん
NGNG >374
ビルドの最後でdoowrap.exeからc++.exeに渡すパラメータがおかしくてエラー出てたけど
手動でg++.exeに変更したらなんとかビルドできて正常動作しました。ありがとう。
ビルドの最後でdoowrap.exeからc++.exeに渡すパラメータがおかしくてエラー出てたけど
手動でg++.exeに変更したらなんとかビルドできて正常動作しました。ありがとう。
378デフォルトの名無しさん
NGNG Xerces C++ 2.6.0を使用しています。
for(;;) {
elem = doc->createElement(tag_name);
root->appendChild(elem);
root->removeChild(elem);
elem->release();
}
と書くと、メモリをがんがんに消費しまくるのですが、
何か足りない処理はありますか?
for(;;) {
elem = doc->createElement(tag_name);
root->appendChild(elem);
root->removeChild(elem);
elem->release();
}
と書くと、メモリをがんがんに消費しまくるのですが、
何か足りない処理はありますか?
379デフォルトの名無しさん
NGNG メモリ使用量が正常で無いというのは何と比較したのよ
380378
NGNG381378
NGNG ついしんです。
for(;;) {
elem = doc->createElement(tag_name);
elem->release();
}
でも、起きました...
for(;;) {
elem = doc->createElement(tag_name);
elem->release();
}
でも、起きました...
382デフォルトの名無しさん
NGNG Xercesのソースを少し追ってみました。
release()を行うと、Documentオブジェクトの再利用バッファにElementが退避されます。
退避されたオブジェクトは、次回に同型のオブジェクトを割り当てる際に、再利用されます。
確かにrelease()で解放したオブジェクトは、次回のcreateElement()の
呼び出しで再利用されているようです。しかし、Elementのデータメンバは
管理されておらず、コンストラクタでNULLが上書きされ、結果としてデータメンバは
メモリリークになります。
では手を加えてこのデータメンバを手動で解放しよう...と考えたいところですが、
オブジェクトの割り当てにはDocument独自のヒープ管理によりなされており、
このヒープ管理機能には、個々の割り当て結果を解放する機能がないように
見えます。(一括の解放はある)
恐らくフラグメントの処理等を省いて高速化を図っているんじゃないかと
思うんですが、このあたりの事情はどこかに書いてありますか?
(あるなら、お客さんには「そういうものなんだ」と言って逃げます)
FAQに再利用の件が少し書いてあるのを見つけましたが、リークが起きる事象
そのものの記述ではなく、いまいちな感じです。
release()を行うと、Documentオブジェクトの再利用バッファにElementが退避されます。
退避されたオブジェクトは、次回に同型のオブジェクトを割り当てる際に、再利用されます。
確かにrelease()で解放したオブジェクトは、次回のcreateElement()の
呼び出しで再利用されているようです。しかし、Elementのデータメンバは
管理されておらず、コンストラクタでNULLが上書きされ、結果としてデータメンバは
メモリリークになります。
では手を加えてこのデータメンバを手動で解放しよう...と考えたいところですが、
オブジェクトの割り当てにはDocument独自のヒープ管理によりなされており、
このヒープ管理機能には、個々の割り当て結果を解放する機能がないように
見えます。(一括の解放はある)
恐らくフラグメントの処理等を省いて高速化を図っているんじゃないかと
思うんですが、このあたりの事情はどこかに書いてありますか?
(あるなら、お客さんには「そういうものなんだ」と言って逃げます)
FAQに再利用の件が少し書いてあるのを見つけましたが、リークが起きる事象
そのものの記述ではなく、いまいちな感じです。
383デフォルトの名無しさん
NGNG やっぱり素人にはJavaの方が楽だな.....
と思った。
と思った。
384デフォルトの名無しさん
NGNG 素人って俺のことな
385382
NGNG そのまま納品しました。
ようやく年が越せそうだ...
ようやく年が越せそうだ...
386デフォルトの名無しさん
NGNG 玄人には?
387デフォルトの名無しさん
NGNG XMLパースプログラムを自分で作るのは難しいのですか?
388デフォルトの名無しさん
NGNG 簡単ですよ
ただ、仕様把握するのが面倒なだけで
難しいというか楽しい部分が少ないので誰もやりたがらない
ただ、仕様把握するのが面倒なだけで
難しいというか楽しい部分が少ないので誰もやりたがらない
389デフォルトの名無しさん
05/01/18 18:48:03 XMLPlatformUtils::Terminate() 呼び出したら
cloneNode() とかで作成したオブジェクトも勝手に削除してる?
アプリの終了時に Terminate() 呼び出すから、
実行中に破棄できるオブジェクトを破棄し忘れてても気づかない・・・
cloneNode() とかで作成したオブジェクトも勝手に削除してる?
アプリの終了時に Terminate() 呼び出すから、
実行中に破棄できるオブジェクトを破棄し忘れてても気づかない・・・
390デフォルトの名無しさん
05/01/27 12:12:29 ・Xerces(SAX,DOM)
http://xml.apache.org/xerces-c/
マルチプラットホーム(win32,linux)
windowsの場合、xerces-c_2_6.dll(2,304KB)が必要。
・msxml()
http://www.microsoft.com/japan/msdn/xml/default.asp
MSXML4まで出てる。
MS独自の仕様があるっぽ
・expat/expatpp(SAX)
http://expat.sourceforge.net/
早いっぽい
・tinyXML()
http://sourceforge.net/projects/tinyxml/
小さいっぽい
・MiX()
http://mix.sourceforge.jp/
このスレに作者がいる予感
速度: expat > msxml = xerces = tinyXML = MiX
機能: xerces > msxml > expat = tinyXML = MiX
容量: msxml = expat = tinyXML = MiX > xerces
安定: xerces = expat = tinyXML > msxml > MiX
OS : xerces > msxml = expat = tinyXML = MiX
このスレを一通り読んで適当に書いてみた。
改変してー
http://xml.apache.org/xerces-c/
マルチプラットホーム(win32,linux)
windowsの場合、xerces-c_2_6.dll(2,304KB)が必要。
・msxml()
http://www.microsoft.com/japan/msdn/xml/default.asp
MSXML4まで出てる。
MS独自の仕様があるっぽ
・expat/expatpp(SAX)
http://expat.sourceforge.net/
早いっぽい
・tinyXML()
http://sourceforge.net/projects/tinyxml/
小さいっぽい
・MiX()
http://mix.sourceforge.jp/
このスレに作者がいる予感
速度: expat > msxml = xerces = tinyXML = MiX
機能: xerces > msxml > expat = tinyXML = MiX
容量: msxml = expat = tinyXML = MiX > xerces
安定: xerces = expat = tinyXML > msxml > MiX
OS : xerces > msxml = expat = tinyXML = MiX
このスレを一通り読んで適当に書いてみた。
改変してー
391デフォルトの名無しさん
05/01/27 12:19:24 誰も居ない予感
392デフォルトの名無しさん
05/01/27 12:21:40 何か目標でも立てれば?
2chパーサー作るとか
2chパーサー作るとか
393デフォルトの名無しさん
05/01/27 12:27:30394デフォルトの名無しさん
05/01/27 12:42:24 個人的に思ったXML(parser)使う利点
・HTMLぐらい皆がわかる簡単な書式ってそうない。
・簡単なCSVでもパーザ書くのめんどくさいし。
・属性等に名称つけてるので可読性が高い。(CSVは、何行目が何ーとか覚えてないと駄目)
・解析後に独自のバイナリに落としときゃそれなり早いはず。
・ツリー状(親子関係)にデータをもてるので幅広く活用できる
・ゲーム系だとかなり使えるんじゃないの
3Dは、もちろん 基本的なアクションやシューティングって親子関係多いし。
別に親子関係無しでもいいと思う。
弾幕記述言語にXML使ってあり、
libBulletMLにtinyXML使ってるっぽい。
http://shinh.skr.jp/libbulletml/
・HTMLぐらい皆がわかる簡単な書式ってそうない。
・簡単なCSVでもパーザ書くのめんどくさいし。
・属性等に名称つけてるので可読性が高い。(CSVは、何行目が何ーとか覚えてないと駄目)
・解析後に独自のバイナリに落としときゃそれなり早いはず。
・ツリー状(親子関係)にデータをもてるので幅広く活用できる
・ゲーム系だとかなり使えるんじゃないの
3Dは、もちろん 基本的なアクションやシューティングって親子関係多いし。
別に親子関係無しでもいいと思う。
弾幕記述言語にXML使ってあり、
libBulletMLにtinyXML使ってるっぽい。
http://shinh.skr.jp/libbulletml/
395デフォルトの名無しさん
05/01/27 16:57:29 食える文字コード
Xerces: ICUと組んでとにかくいろいろ
msxml: MSの各種コードページいろいろ(?)
expat: UTF-8
tinyXML: UTF-8
MiX: std::basic_string<> (?)
※適当な調査です
Xerces: ICUと組んでとにかくいろいろ
msxml: MSの各種コードページいろいろ(?)
expat: UTF-8
tinyXML: UTF-8
MiX: std::basic_string<> (?)
※適当な調査です
396デフォルトの名無しさん
05/01/27 18:24:28 tinyXMLのlibファイル
VC6,Releaseで118KBだった
小さい
VC6,Releaseで118KBだった
小さい
397デフォルトの名無しさん
05/01/27 23:04:33 expat: SAX
tinyXML: DOM
tinyXML: DOM
398Rubyist!
05/01/27 23:23:22 libxmlを忘れるなよ。
399デフォルトの名無しさん
05/01/28 01:15:49 There are four built-in encodings in Expat:
* UTF-8
* UTF-16
* ISO-8859-1
* US-ASCII
* UTF-8
* UTF-16
* ISO-8859-1
* US-ASCII
400デフォルトの名無しさん
05/01/28 10:07:33 >>398
それC++じゃないけど
それC++じゃないけど
401デフォルトの名無しさん
05/01/28 10:08:11 >>396
Mixの方がそれより小さいんじゃないの?
Mixの方がそれより小さいんじゃないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- かめはめ波打って仕事行く(5連続成功中)
- 高市、メガソーラー廃止。環境破壊が社会問題化 [792147417]
- 日本人がホルホルの対象にしている生物、海外にも生息すると判明 [603416639]
- いい香りのする会社のおばちゃんなんなんだよwww
- 無責任な大人が「不登校でいいんだよ」とか言ってるけどさ
- 阿部監督「松本剛獲得した理由は『守備力』と『人間性』」←何で辰己(5年連続GG)じゃないんやろ?
