Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从包含HTML标记的xml中读取CDATA_C#_.net_Xml - Fatal编程技术网

C# 从包含HTML标记的xml中读取CDATA

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的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>

]]>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>";
}