2011-07-16 9 views
0

単純な要件:MySQLデータベースにフラットなXML文字列を格納し、phpでタグ(すなわち<tag>1234</tag>)を使用して文字列を取得します。MYSQLは変換/解釈せずにXML文字列を取得します

問題:文字列をフェッチすると、XML文字列全体ではなく値が取得されます。

私は<tag>1243</tag>(PHPmyAdmin経由で保存されます)を保存してからフェッチします(下のコードを参照)。1234<tag>1234</tag>ではありません。

$query = "SELECT * FROM " . $my_table_with_flat_xml_string; 
$result = mysql_query($query); 
while($row = mysql_fetch_array($result)){ 
    $xml_flat_file_with_the_tags_please = $row[0]; 
    echo " (" . $tags. ")"; 
} 

ヘルプ!

答えて

-1

すべてのノードには「名前」(「タグ」など)と値(「1234」や「空」など)があります。

あなたは価値があります。

単に名前を保存したいだけです。 2倍。

文字列「<」を作成します。 $ name。 ">" $値。 ""

$ nameと$ valueを取得する方法はいくつかあります。すべての方法は、XMLファイルの解析方法によって異なります。

ここではPHPからXMLを使用してあなたの詳細を与える優れたチュートリアルです

3

データベースからフェッチされた文字列は、データベースに入れたときに<tag>1234</tag>になります。 MySQLは、あなたがそれを知らない限り、XML入力を解釈または解析しません。

しかし、<>-charsをエスケープしないでエコーするだけで、ブラウザはHTML-Elementになります。

var_dump() -functionのようなものを使用して、取得した値を出力するか、またはhtmlspecialchars()関数を使用して角かっこをエスケープすることができます。

関連する問題