C# 从包含HTML标记的xml中读取CDATA
我试图读取这个XML的CDADA,但它被忽略了。尾随的“XX”读取正常。为什么?C# 从包含HTML标记的xml中读取CDATA,c#,.net,xml,C#,.net,Xml,我试图读取这个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&g
<?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>
]]>XX
这是读取值的代码:
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>");
}
XmlDocument headdata=new XmlDocument();
Load(HttpContext.Current.Server.MapPath(“~/XML.XML”);
foreach(headdata.SelectNodes(“/data/item”)中的XmlNode项)
{
HttpContext.Current.Response.Write(item.Attributes[“key”]。InnerText+:“+
item.InnerText+“
”;
}
猜测一下,您正在浏览器中查看HTML文档中的输出,并且正在查看呈现的页面
因此,不会呈现
标记(作为标记)
使用浏览器的视图→ 源功能查看它。我建议对此进行调试,并确保您正在加载所需的值。我刚刚运行了下面的项目。InnerText是
<link rel="Stylesheet" type="text/css" href="blah" />XX
XX
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.LoadXml(“]]>XX”);
foreach(xmlDoc.SelectNodes(“/data/item”)中的XmlNode项)
{
var x=item.Attributes[“key”].InnerText+:“+item.InnerText+”
”;
}
好吧,我认为这只是一个愚蠢的缓存问题
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>";
}