- - PR -
[C#]文字の切り出し
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-13 15:47
いつもお世話になっております。
C#でHTMLの文字切り出しを行いたいと思っています。 その際、XMLファイルで文字の指定をすると、うまく切り出すことができません。 現在、以下のように記述してあります。 (htmlの20060501を切り出したい) ■XMLファイル <data_startmark value = "< />\\r\\n" /> ■C#記述 html ="\\r\\n\\r\\n<html>\\r\\n<body>\\r\\n15:16:29< />\\r\\n20060501</>\\r\\n\\r\\n</body>\\r\\n</html>\\r\\n" string startmark = xml.Getxml("ucs","data_startmark"); int start = html.IndexOf(startmark,0) + startmark.Length; int end = html.IndexOf(endmark,start); string result = html.Substring(start, end -start); XMLで指定する文字列から、"\\r\\n"を抜くとstartの値が正しいものがでます。 "\\r\\n"を入れたままでデバッグすると、 startmark = @"< />\\r\\n" と表示され、html.IndexOf(startmark,0)の値が-1になります。 どうしたら\\r\\nを含む文字列でstartの値を正しく取ることができるのでしょうか。 | ||||
|
投稿日時: 2006-06-13 16:44
追記です。
startmarkの@がなくなればどうやら正しい値が取れるのですが、 @を取るためにはどうしたらよいでしょうか・・・。 | ||||
|
投稿日時: 2006-06-13 16:55
つ【この辺】 _________________ 音速の定時退社! | ||||
|
投稿日時: 2006-06-13 16:55
「</>¥¥r¥¥n」という文字列ですが、変数 html の中では '<' '/' '>' '¥' 'r' '¥' 'n' の7文字です。そのXMLファイルから取れるデータでは、'<' '/' '>' '¥' '¥' 'r' '¥' '¥' 'n' の9文字です。そのへんの違いが原因ではないでしょうか。
(¥トラップに引っかかったので修正) [ メッセージ編集済み 編集者: スフレ 編集日時 2006-06-13 16:57 ] | ||||
|
投稿日時: 2006-06-13 17:00
検索語は 属性値の正規化
第19回 落とし穴が潜む属性値の正規化 http://www.atmarkit.co.jp/fxml/rensai/w3cread19/w3cread19.html 引用符囲み → リテラル 常にそうとは 限らない。 属性は 調理(cook)されます、xmlパーサーによって | ||||
|
投稿日時: 2006-06-14 10:52
皆様ご回答ありがとうございます。
いろいろ教えていただいたものを読んでみたのですが、 初心者の私には難しく・・・ (ごめんなさい。Yamさんのは見れませんでした) 文字列を先に加工して¥マークを外すことにしました。 また勉強してここを見てきちんとできるようにしたいと思います。 ありがとうございました。 | ||||
|
投稿日時: 2006-06-14 11:01
おっと!LINKにするとhttp://が付いてしまいますね。失礼しました。 VSのヘルプです。 ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_csref/html/3037e558-fb22-494d-bca1-a15ade11b11a.htm |
1