XMLについて質問です。

XMLで画像とリンク先の管理を行いたいです。

<sites>
<site>
<link></link>
<site>
<sites>

上記の<link></link>の間に下記のタグを入れてもうまくいきません。
<a href="http://(中略)" target="_blank"><img src="http://(中略).gif"></a>

このような使い方はXML本来の使い方ではなく、
実現しても汎用性が低いのは理解できるのですが、
それらをやむをえないこととして、
<a href="http://(中略)" target="_blank"><img src="http://(中略).gif"></a>
に手を加えることなく、そのままの形で放り込むにはどうしたらよいのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/12/03 22:38:47
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kamicup No.1

回答回数9ベストアンサー獲得回数0

うまくいかないのは、うまくいくようにやっていないから、です。

それを扱うように意図したシステムを組めば問題なくうまくいきます。

XMLというのは、言語設計とアプリケーション実装(ソフトウェア・システム)

がセットになって始めて意図したとおりに機能するものです。実装をいじらず

に言語設計だけを拡張して意味のある結果を出すことはできません。

id:taroemon

>実装をいじらずに言語設計だけを拡張して意味のある結果を出すことはできません。

ご指摘ありがとうございます。

このXMLは下記のPHPスクリプトで活用するつもりでした。


function link(){

$xxx = simplexml_load_file(中略);

foreach($xxx -> site as $st){

$links .= $st -> link;

}

return $links;

}

echo link();


引き続き他の方からの回答をお待ちします。

2008/12/03 05:47:42
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント60pt

下記のように記述しているということですか?

<link>
    <a href="http://(中略)" target="_blank"><img src="http://(中略).gif"></a>
</link>

だとすると、<a> や <img> も XML のタグとして認識されてしまいます。

このようなタグをXMLコンテンツ(文字列)として認識させるには、次のように記述します。

<link>
<![CDATA[
<a href="http://(中略)" target="_blank"><img src="http://(中略).gif"></a>
]]>
</link>

<![CDATA[ .... ]]> で囲まれた部分については、タグ文字や改行などのコントロール文字を含め、すべて <link> のコンテンツとして認識されます。

id:taroemon

いつもご回答ありがとうございます。


>下記のように記述しているということですか?

そのとおりです。そういう風に説明するほうが簡潔でした。

望みどおりうまくいきました。ありがとうございます。

2008/12/03 22:35:01
id:shinkou_calido No.3

回答回数38ベストアンサー獲得回数0

ポイント20pt

こういうことですか??

http://www.atmarkit.co.jp/aig/01xml/cdata.html

id:taroemon

ご回答ありがとうございます。

そのとおりです。

2008/12/03 22:35:13
  • id:standard_one
    「うまくいかない」とは具体的にどのタイミングで何がどうダメなんでしょうか?
  • id:taroemon
    Mookさん

    コメントありがとうございます。
    そのとおりですね。
    ちょっと事情があり、タグはそのまま使用できるきかなと思い質問しました。


    standard_oneさん
    説明不足で失礼しました。
    今後気をつけます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません