2008-09-26 30 views

回答

9

良好的XML工具將確保生成的XML文件正確地針對您正在使用的DTD進行驗證。

好的XML工具還可以節省大量重複鍵入的標籤。

1

使用發生器。

使用生成器的優點是你有一致的標記,並且不會冒用大括號或引號或忘記編碼的風險。這是至關重要的,因爲直到運行時纔會發現這些錯誤,除非您有重要的測試來確保其他情況。

4

如果你正在處理XML的一個小一點,有一個在做手工的小傷害(只要你能避免錯別字)。但是,對於較大的文檔,您最好使用編輯器,它可以根據模式驗證您的文檔並防止輸入錯誤。

1

手寫並不總是最好的做法,因爲在大型XML中可以寫錯標籤並且很難找到錯誤的原因。所以我建議使用XMl解析器來創建XML文件。

-1

總是使用某種工具。 XML可能非常複雜,我知道PHP傢伙習慣於使用一些小東西,但如果有人不使用System.XML來創建XML,那麼它就是.NET世界的一種巨大的代碼味道。

+0

嘿,不要bash PHP程序員!僅僅因爲PHP本身並不鼓勵編寫好的代碼,不要以爲我們都沒有做! – 2008-09-26 14:14:06

1

使用一個好的XML生成器將大大減少由於胖指法,注意力流失或任何其他人類虛弱造成的潛在錯誤。然而,有幾個不同的級別機器的協助,可供選擇,:

  1. 起碼,使用,做語法高亮和自動縮進一個程序員的文本編輯器。只是注意到您的文字顏色與您期望的不同,或者不符合您的期望,可能會導致您錯誤地錯過了一個錯字。

  2. 更好的是,退一步,將XML作爲您喜歡的任何語言的數據結構編寫,而不是將該數據結構轉換爲XML。 Perl爲你提供了一些模塊,例如用於小型工作的輕量級XML::Simple或者更高級的XML::Generator;使用XML::Simple只是將您的內容安排到標準的散列哈希哈希中,並通過適當的方法運行它。

史蒂夫

1

您可以使用DOM extenstion這是相當繁瑣的對碼。我個人認爲,從頭開始編寫XML文檔的最有效方法是使用PHP附帶的XMLWriter extension,並且在最新版本中默認啓用。

$w=new XMLWriter(); 
$w->openMemory(); 
$w->startDocument('1.0','UTF-8'); 
$w->startElement("root"); 
    $w->writeAttribute("ah", "OK"); 
    $w->text('Wow, it works!'); 
$w->endElement(); 
echo htmlentities($w->outputMemory(true)); 
1

通過任何類型的字符串操作生成XML會爲進入代碼的錯誤打開大門。例如,您發佈的非常簡單的示例,如果$ value包含&符號,則不會生成格式良好的XML。

在XML中沒有太多的邊緣情況,但是有足夠的時間來編寫自己的代碼來處理它們是浪費時間。 (如果你不處理它們,你的代碼會在某一天意外失敗,沒人願意。)任何好的XML工具都會自動處理這些情況。

0

eclipse中的XML工具也非常有用。只需創建一個新的XML架構和文檔,並且您可以輕鬆使用大多數圖形工具。我想指出,事先了解模式如何工作將是有用的。

1

速度可能是一個問題...手寫可以快很多。

相關問題