0

DomDocumentを使用してXMLストリームを生成しています。純粋なXMLストリームが必要なので、xsl変換でソースコードを変更したくありません。それでも、右クリックして[ソースを表示]を選択しなくても、ブラウザでXMLを「読み取る」ことができるようにしたいと思います。

したがって、私が行うことは、DomDocumentを作成し、処理命令を追加することです。

$css = $xml->createProcessingInstruction("xml-stylesheet", "type=\"text/css\" href=\"xml.css\"");
$xml->appendChild($css);

次に、すべてのアイテムを追加します。結果のXMLは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="xml.css"?>
<OBJECT>
  <OBJECTNAME>Mi Casa</OBJECTNAME>
  <OBJECTID>1</OBJECTID>
  <DATES>
    <DATE>
      <ID>5</ID>
      <STAYFROM>05.08.2010</STAYFROM>
      <STAYTO>15.08.2010</STAYTO>
    </DATE>
  </DATES>
</OBJECT>

元のxmlへのリンクは次のとおりです。

http://www.todasmisreservas.com/service/rss.php?obj=1type=res&status=confirmed&xsl=1

これが私のCSSです:

OBJECT {
background-color: #555555;
width: 100%;
}

OBJECTNAME {
display: block;
margin-bottom: 30pt;
margin-left: 0;
}

OBJECTID {
color: #FF0000;
font-size: 20pt;
}

DATES {
color: #0000FF;
font-size: 20pt;
}

STAYFROM, STAYTO, ID {
display: block;
color: #aa0000;
margin-left: 20pt;
}

cssfileがxmlに何らかの影響を与えることを機能させることができません。私は何が間違っているのですか?

ありがとう

マエニー

4

1 に答える 1

0

同じ問題を抱えている人なら誰でもOK、私は最終的に解決策を見つけました:

php から XML ストリームをストリーミングするときは、有効な xml ファイルがあることだけでなく、次のような HTTPResponse-Header を送信することも確認してください。

header("content-type: text/xml; charset=utf-8");

その後、動作します。

グリーツ

于 2010-06-18T15:37:19.267 に答える