Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
Linq to XML未获取包含html标记的节点的内容_Xml_Linq To Xml - Fatal编程技术网

Linq to XML未获取包含html标记的节点的内容

Linq to XML未获取包含html标记的节点的内容,xml,linq-to-xml,Xml,Linq To Xml,我有一个XML文件,我正试图用Linq解析为XML。其中一个节点包含一点HTML,我无法检索 XML类似于: <?xml version="1.0" encoding="ISO-8859-1"?> <root> <image><img src="/Images/m1cznk4a6fh7.jpg" /></image> <contentType>Banner</contentType> </root>

我有一个XML文件,我正试图用Linq解析为XML。其中一个节点包含一点HTML,我无法检索

XML类似于:

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<image><img src="/Images/m1cznk4a6fh7.jpg"  /></image>
<contentType>Banner</contentType>
</root>

有什么想法吗?

如果要在XML元素中存储HTML,它应该在
注释中,这样LINQ2XML就知道不要将其视为额外的XML标记

<image><![CDATA[<img src="Images/abc.jpg />]]></image>


如果内存可用,则在不使用CDATA注释包装的情况下,您不必执行任何特殊操作来提取值,但您可能需要调用
value
以外的属性。我不太记得了。

那是因为
图像下没有嵌套的
,只有另一个元素(
img
)。您需要执行以下操作:

XElement imgElement = document.Descendants("image").SingleOrDefault().FirstNode;
然后访问
Value
属性以获取
src
。否则,如果要以纯文本形式查找
img
标记,则需要将其作为CDATA部分保存在XML文档中,例如

<image><![CDATA[<img src="/Images/m1cznk4a6fh7.jpg" />]]></image>


.Value
表示标记中的任何文本和任何子标记,但您没有任何子标记。当您解析它时,
来检索所需的文本。

Thx对于答案也是非常有用的。但丁:没问题,不过我对你接受的答案做了评论。您说过您需要
image
标记中包含完整的HTML内容,这将要求您使用CDATA部分。因此,我会认为我/内森的答案是正确的。我的错是,我没有正确解释。但他是第一个,他回答了我的问题。问题并不是说他们在寻找标签的
src
部分,他们只是说标签中的HTML。需要一个CDATA区域。哇,这里充满了愤怒。詹姆斯和内森,你们没事吧?他没有说他有能力更改XML的格式,只是说他想阅读内容(
.Value
)。为了像使用Linq to XML一样使用Linq to XML,他需要获取
src
属性的值。@Otaku.没有愤怒,更混乱:)@James:他的代码最后一行是注释“\\not get the content,而如果我指定.subjections(“contentType”),它就可以工作”这表示他正在查找
img
标记的值。在这种情况下,只有一个值,即
src
@Otaku属性的值,他有一个
image
标记和一个
img
标记。我想通过他的问题,他希望完整的
数据是
图像的
值。他没有明确说明他在寻找
src
.Tbh,这并不正确。在某种程度上是这样的,但我尝试使用xml原样来实现,因此其他答案比您的答案更准确。也在你的面前;)不过还是谢谢你。
<image><![CDATA[<img src="/Images/m1cznk4a6fh7.jpg" />]]></image>
<image>
    <img>/Images/m1cznk4a6fh7.jpg
    </img>
</image>