【发布时间】:2013-10-22 23:44:51
【问题描述】:
我想搜索我的 xml 文件。结构如下:
<AForetag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Place ID="1006">
<Foretag>
<Epost>info@abc123.se</Epost>
<Namn>Abe</Namn>
<Ort>Abc123</Ort>
<Adress>Abc123</Adress>
<Postnummer>Abc123</Postnummer>
<Landskap>Abc123</Landskap>
<Telefon>Abc123</Telefon>
<Medlemskap>Abc123</Medlemskap>
</Foretag>
<Foretag>
<Epost>def456</Epost>
<Namn>def456</Namn>
<Ort>def456</Ort>
<Adress>def456</Adress>
<Postnummer>def456</Postnummer>
<Landskap>def456</Landskap>
<Telefon>def456</Telefon>
<Medlemskap>def456</Medlemskap>
</Foretag>
</Place>
</Aforetag>
我想搜索元素<Landskap>。如果我得到并匹配,我应该选择所有其他元素,Epost、Namn、Ort、Adress、Postnummer、Landskap、Telefon 和 Medlemskap。我想放入数组中的信息。
我试过这个:
var aforetag = from foretag in doc.Descendants("Place")
where foretag.Attribute("ID").Value == "1006"
select foretag;
var landskap = aforetag.Elements("Foretag")
.Descendants()
.Where(x => x.Element("Landskap")
.Value
.Contains(s)
.Descendants()
.Select(c => (string)c)
.ToArray();
【问题讨论】:
-
你试过了。而且,发生了什么?
-
我会收到此警告:NullReferenceException 未处理。 Objectreferens 尚未获得对象的实例。 (抱歉翻译不好)它停止工作。
-
所以,你也不知道什么是异常。几乎所有
NullReferenceException的情况都是一样的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。 -
让它工作。谢谢,我的 XML 架构搞砸了。里面有一些不好的值,比如'--'。
-
@faceplant 您的查询不好,我怀疑它不能按您的预期工作,除非您进行了一些修改以使其工作
标签: c# xml linq search nullreferenceexception