[討論] 在xml的tag中,指定一個帶有&的值
我想嘗試對一個xml檔案做操作,使用的語言是php。
在過程中我遇到了一個問題,有個想法不知道正不正確,想請教大家:
我想指定一個帶有「&」的字串值給某個tag,我可不可以不要對「&」做encode?
=============================================================
ex:在下面的xml中,有一個tag: <site_url>,其值為一個網址,我預期的格式為:
<?xml version="1.0" encoding="utf-8"?>
<xml>
<site_url>http://xxx.com.com/aaa.php?a=ddd&c=ddd</site_url>
</xml>
===============================================================
假設這串網址的是由使用者在一個html form 裡面輸入,
再經由post或get的方法傳遞到server端,然後server端去生成這個example檔
當server端接收到這個字串後,
我使用simplexml裡的addChild() method來新增一個節點為,並指定其值為這個網址。
但如果我沒有嘗試對這個字串做encode的話,
php 可能會發出類似的警告:
Warning: SimpleXMLElement::addChild()
[simplexmlelement.addchild]: unterminated entity reference
可是我一開始直覺的想法是:
在xml中tag所存放的值,應該存的是raw data,也就是不經過格式化的值。
也許舉url這個例子比較不好,url它可能本身代表許多資訊,把資訊分割後,
可能自然就不需要「&」號。
我舉另個例子:萬一今天有個產品,它的編號名稱裡,真的使用了「&」號呢?
那為什麼我還必須去格式化它?
格式化後,若要取它的值出來時,又得做decode。
可是如果我不encode的話,請問在xml中有沒有什麼標準可以描述這件事?
好讓我使用的程式語言,以及display xml的軟體知道,我是故意不想encode的?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.106.74
推
03/09 01:06, , 1F
03/09 01:06, 1F
→
03/09 01:13, , 2F
03/09 01:13, 2F
→
03/09 01:14, , 3F
03/09 01:14, 3F
推
03/09 02:50, , 4F
03/09 02:50, 4F
推
03/09 08:52, , 5F
03/09 08:52, 5F
→
03/09 08:53, , 6F
03/09 08:53, 6F
→
03/09 08:53, , 7F
03/09 08:53, 7F
→
03/09 08:54, , 8F
03/09 08:54, 8F
推
03/09 09:51, , 9F
03/09 09:51, 9F
→
03/09 13:55, , 10F
03/09 13:55, 10F
→
03/09 13:55, , 11F
03/09 13:55, 11F
→
03/09 18:01, , 12F
03/09 18:01, 12F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):