【发布时间】:2014-02-02 09:20:39
【问题描述】:
我有 XElement xDoc =
<div id="item123">
<div id="item456">
<h3 id="1483538342">
<span>Dessuten møtte</span>
</h3>
<p>Test!</p>
</div>
</div>
当我尝试删除 id = "item456" 的项目时,我收到一个错误
System.NullReferenceException: Object reference not set to an instance of an object.
var item = "456";
xDoc.Descendants("div").Where(s => s.Attribute("id").Value == "item" + item).Remove();
我不明白这里出了什么问题。
【问题讨论】:
-
"item" + item将搜索属性值"itemitem456"。 -
你的 xml 看起来像 html...
-
阿德里亚诺,输入错误。现在它是固定的。谢谢:)
-
Sergey,html 是一种 XML。问题不在这里。
-
@podeig 不完全正确 - xml 区分大小写并且它不允许未关闭的标签。因此,有效的 html 可能是无效的 xml,解析会失败。我并没有说这是你的样本中的问题。我只是建议对正确的数据使用正确的工具(见我的回答)。