2016-11-28 60 views
-2

我正在從PHP腳本獲取xml文檔。C#XML忽略< and >節點中的字符

XML架構看起來是這樣的:

<Items> 
    <Item> 
    <ID> 
     123g8fdg 
    </ID> 
    <Name> 
     Michael 
    </Name> 
    <Note> 
     Some notes, for example a small xml snippet: <randomxml><... 
    </Note> 
    </Item>  
</Items> 

的注意節點可以有任何值(甚至是XML片斷) 雖然從服務器得到以下XML數據回試,我注意到,那如果注意的是以下的C#的loadXML功能失敗:

"Finish date <= Start date + 1 year" 

的「<」字打破它(我可以看到,即使在C#XML可視化工具,而得不gging)

任何方法都可以忽略註釋部分中的任何特定XML元素,所以它不會干擾解析器和基本結構?

+4

由於XML是無效的,你應該在這裏使用CDATA不是純文本,http://stackoverflow.com/questions/2784183/what-does-cdata-in-xml-mean – tym32167

+0

去解決您的PHP腳本。如果您的XML在元素中包含該文本,則它不是有效的XML。 –

回答

0

您需要將值<編碼爲&lt;。您不能使用<,因爲它被誤認爲打開標籤。

Here is online encoding tool for xml

+0

所以你的建議是讀取C#中的XML,然後將這些數據發佈到一個在線表單,在C#中讀回來,然後開始處理它? –

+0

@ThomasWeller不,我建議檢查這個在線工具,如果他有一些疑問,如果一個元素需要編碼。 – mybirthname