簡體   English   中英

我可以在XML文件中包含PHP嗎?

[英]Can I include PHP in an XML file?

我正在嘗試創建一個自動的“ sitemap.xml”,我已經按照Google提供的說明進行了創建,這是我目前擁有的:

<?xml version="1.0" encoding="UTF-8"?>

    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

        <url><loc>http://www.example.com/</loc></url> 

    </urlset>

現在,我想將“ <url><loc>http://www.example.com/</loc></url>替換為“ <?php include ("assets/includes/menu.inc"); ?> “,其中將包括以下內容:

<li><a href="index.php">Home</a></li>
<li class="subMenu"><a href="gallery.php">Gallery</a>
    <ul>
        <li><a href="404.php">404 Error Page</a></li>
        <li><a href="about.php">About</a></li>
    </ul>
</li>
<li><a href="contact.php">Contact</a></li>

但是,我剛剛意識到PHP include無法在XML文件上運行,因此無論如何都可以在其中包含php?

我在想什么 我試圖使我的站點地圖能夠自動生成/更新,因此我想將菜單“主鏈接”包括到XML,然后使用CSS“在選擇器之前和之后”在每個文件之前添加標簽<url><loc> <a></a></url></loc> ,然后創建: <url><loc>http://www.example.com/</loc></url> ,這就是站點地圖本質上是建造的。

關於如何進行這項工作的任何想法?

我個人在創建站點地圖時從未使用過include,但是只要您使用的是有效的xml元素,我就不會將其視為問題。

您可以使用一些php類為它創建xml,並僅定義內容類型,例如: header ("Content-type: text/xml; charset=UTF-8"); 然后從那里可以實例化xml類(如果您選擇或手動完成)

您的問題的答案是:是的,您可以將PHP嵌入XML。 PHP是專門為嵌入而設計的:這就是<?php...?>標簽首先存在的原因。 而且,PHP不知道或不在乎您將其嵌入的位置,只要:

  • 該文件被發送到PHP解釋器。
  • 宿主文檔中沒有任何東西會無意間看起來像一個PHP開始標記。

鑒於您要執行的操作,這種答案基本上是無關緊要的。 Google站點地圖是具有非常特定語法的XML文件。 注入主菜單的HTML代碼不會從中生成站點地圖,就像在文本編輯器中打開MP3文件並在其中鍵入您的名字不會使Freddy Mercury唱歌一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM