我正在尝试阅读此XML的CDADA,但它被忽略了。尾随的“XX”读取正常。为什么呢?
<?xml version="1.0" encoding="utf-8" ?>
<data>
<item key="one"><![CDATA[<link rel="Stylesheet" type="text/css" href="@Url.Content("~/Site.css")" />]]>XX</item>
</data>
这是读取值的代码:
XmlDocument headdata = new XmlDocument();
headdata.Load(HttpContext.Current.Server.MapPath("~/XML.xml"));
foreach (XmlNode item in headdata.SelectNodes("/data/item"))
{
HttpContext.Current.Response.Write(item.Attributes["key"].InnerText + ": " +
item.InnerText + "<BR>");
}
答案 0 :(得分:1)
我建议调试一下并确保加载你期望的值。我刚刚运行下面的item.InnerText是
<link rel="Stylesheet" type="text/css" href="blah" />XX
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<data> <item key=\"one\"><![CDATA[<link rel=\"Stylesheet\" type=\"text/css\" href=\"blah\" />]]>XX</item></data>");
foreach (XmlNode item in xmlDoc.SelectNodes("/data/item"))
{
var x = item.Attributes["key"].InnerText + ": " + item.InnerText + "<BR>";
}
答案 1 :(得分:0)
猜测,您正在浏览器中查看HTML文档中的输出,并且正在查看呈现的页面。
因此不会呈现<link>
标签(作为标签)。
使用浏览器的视图→来源功能查看。