【RAD統合環境】 Qt 総合スレ 8 【Win/Mac/Linux】at TECH
【RAD統合環境】 Qt 総合スレ 8 【Win/Mac/Linux】 - 暇つぶし2ch66:デフォルトの名無しさん
10/08/14 23:13:47
ネームスペースをつけずに作ってあとで後悔することってありますか?
あとからまとめてつけれませんか?

67:デフォルトの名無しさん
10/08/14 23:22:15
>>66
こいつはマルチポストです。


68:デフォルトの名無しさん
10/08/14 23:31:59
>>66
      ,,.----、
      i | |  |   _____
     / | |  |  /   ヽ
    /  / |  |  |  ^o^ | <ネームスペースをつけずに作ってあとで後悔することってありますか?
   /  / 人ヽ、 !ー!\_/ヽ、
  / /ノ,,,,,,ヽ、ヾ .|ヾ ゞ / !ヽ`ヽ- 、
 / //、   `,ヽ .| ヾ  /ヾ ヾ  `ー-- 、
/ //  `  '´  ,ヽ||´~~ヽ ヽ、, '"´``.、   .ヽ
| ((ー‐  ●  ---.||" ,, i   i;;;;" ゛;;;;i    |
|  ヾ、 ,. ´,  、   ||  ,/   |ll!!!^!!!lllノ   .ノ
ヾ  i lヾ  i  ヾ ,/ |""  ,,  'ヽ ,,, /    |
 |  l l;;;;;`;,,,, ゞ-‐´/ ,,|  ゞ`ヾ     ヾ    |

   / ̄\
  |     | <お前は マルチポスト です
   \_/
   _| |_

スレリンク(tech板:66番)
スレリンク(tech板:45番)



せっかく応えた俺の誠意を踏みにじりやがって。

なんか言えよお前。



69:デフォルトの名無しさん
10/08/15 10:15:28
さすがに、aes/rsaのライブラリは無いよね...

70:デフォルトの名無しさん
10/08/15 11:48:27
ubuntuでQt使う時ってWindowsのlibファイルってリンクできる?

71:デフォルトの名無しさん
10/08/15 18:23:27
XMLの書き換えはどのようにすればよいのでしょうか。

<root><test>TEST</test></root>

上記のようなXMLを下記のコードで書き換えようとしたのですが

QDomElement root = domDocument.documentElement();
QDomElement newTitleElement = domDocument.createElement("test");
QDomText newTitleText = domDocument.createTextNode("TEST!");
newTitleElement.appendChild(newTitleText);
root.appendChild(newTitleElement);
QTextStream out(file);
domDocument.save(out, 4);

結果は下記のようになってしまいました。(改行やインデントは削除しています)
<root><test>TEST</test><test>TEST!</test></root>


XQuery Update Facilityなら簡単に書き換えられるようですが、Qtではまだ使えないようですし・・・
よろしくお願い致します。

72:デフォルトの名無しさん
10/08/15 20:12:25
replaceChild で置き換えれば。

73:デフォルトの名無しさん
10/08/15 20:19:00
XMLの書き換えにjQueryは使えないのか?

createElementやらappendChildやら
長ったらしくて見たくない。

74:デフォルトの名無しさん
10/08/15 21:32:37
QtってVS2010に対応してますか?

75:デフォルトの名無しさん
10/08/15 21:45:10
>>71
GWTのコードかと思った(爆笑)

76:71
10/08/15 22:28:23
すみません
>結果は下記のようになってしまいました。(改行やインデントは削除しています)
><root><test>TEST</test><test>TEST!</test></root>

ではなく<root><test>TEST</test></root><root><test>TEST</test><test>TEST!</test></root>です。

>>72
すみません、書き間違いがありました。

>>73
Qtでやることばかり考えていて完全に盲点でした。

>>75
すみません。

77:デフォルトの名無しさん
10/08/16 09:07:52
どいういたしまして

78:デフォルトの名無しさん
10/08/16 11:12:38
>>76
>ではなく<root><test>TEST</test></root><root><test>TEST</test><test>TEST!</test></root>です。
それはファイルの扱いがおかしい。outに追記しているだけ。
>>71 のコードからは71に書いてある結果が得られる。
rootからfirstChildElementでtestを取得して、replaceChildで置き換えたらうまく行った。

79:デフォルトの名無しさん
10/08/16 11:59:46
ありがとうございました

80:デフォルトの名無しさん
10/08/17 09:42:15
どいういたしまして

81:デフォルトの名無しさん
10/08/17 22:03:02
おっと、どういたしましてを言うのは俺だ

82:71
10/08/18 01:07:00
>>78
ファイルの扱いがおかしいというのはどういう事なのでしょうか。
replaceChildに変更しただけだと特に結果は変わりませんでした。
file->open(QIODevice::ReadWrite)で開いて、最後にdomDocument.save(out, 4)で上書きになって欲しいのですがこれだと追記になってしまいます。
読み込みに使ったXML以外のファイルを保存先に変更したら上手く?いったのですが、読み込みに使ったファイルを上書きしようとしても追記になってしまいます。

現在のコードです。行数制限のため改行やif文を外してあります(動作は確認済みです)
QDomDocument domDocument;
QFile *file = new QFile("/home/hoge/test.xml");
file->open(QIODevice::ReadWrite);
domDocument.setContent(file, true);
QDomElement root = domDocument.documentElement();
QDomElement newTitleElement = domDocument.createElement("test");
QDomText newTitleText = domDocument.createTextNode("TEST!");
newTitleElement.appendChild(newTitleText);
root.appendChild(newTitleElement);
QDomElement newChild = root.firstChildElement("test");
domDocument.replaceChild(newChild, domDocument);
QTextStream out(file);
domDocument.save(out, 4);
file->close();

83:デフォルトの名無しさん
10/08/18 01:32:29
qtで高精度タイマを使う方法はないのでしょうか?

84:デフォルトの名無しさん
10/08/18 03:30:33
ファイルをREADで開く
XMLからDOM生成
ファイルを閉じる

DOM弄る

ファイルをWRITEで開く
DOM書き出し
ファイルを閉じる

85:デフォルトの名無しさん
10/08/18 09:11:45
>>82
なんで root に appendChild した後に domDocument に replaceChild してるんだ。
そのコードだと replaceChild 失敗してるだろ。返り値チェックしてみろ。
API のドキュメントよく読め。

86:デフォルトの名無しさん
10/08/18 10:04:42
Qt関係なくね?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch