0
我試圖在屬性值內包含html內容(例如<tag attribute="<b>hi</b>"></tag>
)。根據this,這似乎應該在字符串屬性類型上默認完成,但是我得到無效的字符錯誤。有沒有辦法讓XAttribute把它當作CDATA?獲取xelement將xml屬性值視爲CDATA
我試圖在屬性值內包含html內容(例如<tag attribute="<b>hi</b>"></tag>
)。根據this,這似乎應該在字符串屬性類型上默認完成,但是我得到無效的字符錯誤。有沒有辦法讓XAttribute把它當作CDATA?獲取xelement將xml屬性值視爲CDATA
無法將XML屬性值指定爲CDATA。你能做什麼,你能逃脫您想放置一個值的XML:
<tag attribute="<b>hi</b>"></tag>
將成爲
<tag attribute="<b>hi</b>"></tag>
如果你正在建設一個文件,你想添加這個屬性,所有你需要做的是添加HTML中XAttribute構造函數:
var doc = new XDocument(new XElement("tag", new XAttribute("attribute", "<b>hi</b>")));
要獲得爲一個XML文檔,你可以使用此代碼值:
var doc = XDocument.Parse("<tag attribute=\"<b>hi</b>\"></tag>");
var attributeValue = doc.Root.Attribute("attribute").Value;
var newDoc = XDocument.Parse(attributeValue);
謝謝@Damian,我知道轉義html標籤。然而,我在文章中提到XML規範,似乎你不需要爲屬性轉義任何標籤,因爲它默認被視爲CDATA。我只是想知道是否有辦法讓XElement認識到這一點。 – Riz