【发布时间】:2014-10-11 04:35:06
【问题描述】:
我想摆脱 CDATA,我想读取 br 标签。 这是我的 xml:
<body>
<![CDATA[
Apple iPhone är mycket mer än en mobil. Den är en kombination av tre enheter: en revolutionerande mobiltelefon, en iPod i widescreenformat och en banbrytande Internetenhet. Allt detta och mer därtill gör den till den bästa mobiltelefon du kan föreställa dig.
]]>
<br/>
<![CDATA[
Med de maskinvarufunktionerna i iPhone i kombination med världens mest avancerade mobiloperativsystem öppnar Apple möjligheter för vad en mobiltelefon kan göra. Programmen är helt integrerade med varandra och kan synkroniseras med din dator - oavsett om du använder Mac eller PC. Från Multi-Touch-skärmen till det smarta tangentbordet och sensorerna.
]]>
<br/>
</body>
这是我的代码:
public static List<string> GetDescriptionXml(string idItem)
{
Dictionary<string, string> dic = new Dictionary<string, string>();
XDocument xdoc = XDocument.Load(GetDescription(idItem));
return (from doc in xdoc.Elements("body") select doc.Value).ToList();
}
当我运行它时,我只是在没有 br 标签的情况下获得了 CDATA 中的值! 我也可以得到 br 标签吗?
【问题讨论】:
-
doc.value仅返回 xml 元素内的内容(文本)。
不是内容,而是一个 empty xml 元素(即,它不包含任何内容)。如果你需要 cdata 值和
,你可以使用简单的字符串替换来摆脱<![CDATA[...]]>