2011-05-16 57 views
0

我目前正在從數據庫內容創建一個xml文檔。我創建的輸出保存到另一個數據庫字段。當我驗證我創建的xml時,它是無效的,因爲xml標記中的數據無效,例如。 &符號,<符號在xml標記內容中。用c#創建xml文檔並用perl解析它

我應該在創建xml文檔時編碼xml內容嗎?

將數據保存到數據庫後,通過用perl寫入的批處理作業讀取數據。在xml內容被編碼之後,perl可以解碼這個內容嗎?如果是這樣,這是如何實現的?

+0

heck。你怎麼能期望Perl修復你的破碎的XML? – 2011-05-17 04:24:24

回答

2

如果您使用C#創建XML文檔,則應該使用內置類型之一,如XmlWriterXDocument。這樣,逃避角色需要逃避的細節就得到了照顧,你不必考慮它。

你應該在另一邊做同樣的事情,並在Perl中使用一些XML解析器。

如果您仍然想知道它是如何實現的(您不需要),那麼使用character entities可以將所有不能出現在文本節點內的字符轉義出來。例如,<轉義爲&lt;

+1

Perl中的一些[XML解析器](http://search.cpan.org/search?query=XML&mode=module)。有幾個基本的解析器(如[XML :: Parser](http://search.cpan.org/dist/XML-Parser/)和[XML :: LibXML](http://search.cpan.org/dist/XML-LibXML /))以及用於各種用例的大量封裝器。 – 2011-05-16 23:53:58