【发布时间】:2017-01-17 15:21:45
【问题描述】:
我将此字符串结构化为 XML:
<damp fullmedia="">
<mediaitem>
<img id="1119" version="29a5623f-d41c-4418-97b7-3cea8579ffd8" parentid="1052" level="2" writerid="0" nodetype="1032" template="0" sortorder="2" createdate="2016-11-30T10:09:40" updatedate="2016-11-30T10:09:40" nodename="2016-11-25_1251411957-277" urlname="2016-11-25_1251411957-277" writername="admin" nodetypealias="Image" path="-1,1052,1119">
<umbracofile>/media/1013/2016-11-25_1251411957-277.jpg</umbracofile>
<umbracowidth>2598</umbracowidth>
<umbracoheight>1732</umbracoheight>
<umbracobytes>350613</umbracobytes>
<umbracoextension>jpg</umbracoextension>
</img>
</mediaitem>
</damp>
我想提取属性“umbracofile”的值,所以我这样做了:
var stringAsXml = "<damp fullmedia="">....";
var xmlDoc = new XmlDocument();
var imageUrl = xmlDoc.SelectSingleNode("//mediaItem/img/umbracoFile").InnerText;
代码运行良好,但出现错误“缺少根元素”。由于我只想解析和提取一个节点值,我该如何摆脱这个错误?
【问题讨论】:
-
The code works fine but I have the error我认为这些陈述实际上是矛盾的。错误可能与您正在寻找节点Image的事实有关,而该节点实际上是img -
对不起,我的错误,节点找到/img/不是/Image/
-
哦,你的
img标签也永远不会关闭。不知道是不是笔误 -
这是一个错字,我改正了,对不起!
标签: c# xml xml-parsing umbraco