我无法从XML文件填充对象。我已经复制了一个我几乎完全找到的示例,变量名称已更改,但我一直收到“枚举无结果”异常。
这是我的代码:
Dim element As XElement = XElement.Load(path)
Dim itemProps = From p In element...<Property> _
Where p.<LanguageCode>.Value = "en_us" _
Select p.<Title>.Value, p.<Description>.Value
使用断点,我已确认使用XElement.Load(路径)方法正确填充了'element'变量。
以下是正在访问的XML文件:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Items>
<Item ItemID="1">
<Property ItemPropertyID="1">
<Title>Title1</Title>
<Description>Description1</Description>
<LanguageCode>en-us</LanguageCode>
</Property>
</Item>
<Item ItemID="2">
<Property ItemPropertyID="2">
<Title>Title2</Title>
<Description>Description2</Description>
<LanguageCode>en-us</LanguageCode>
</Property>
</Item>
<Item ItemID="3">
<Property ItemPropertyID="3">
<Title>Title3</Title>
<Description>Description3</Description>
<LanguageCode>en-us</LanguageCode>
</Property>
</Item>
<Item ItemID="4">
<Property ItemPropertyID="4">
<Title>Title4</Title>
<Description>Description4</Description>
<LanguageCode>en-us</LanguageCode>
</Property>
</Item>
<Item ItemID="5">
<Property ItemPropertyID="5">
<Title>Title5</Title>
<Description>Description5</Description>
<LanguageCode>en-us</LanguageCode>
</Property>
</Item>
<Item ItemID="6">
<Property ItemPropertyID="6">
<Title>Title6</Title>
<Description>Description6</Description>
<LanguageCode>en-us</LanguageCode>
</Property>
</Item>
</Items>
本质上,XML查询应该返回每个属性的标题和描述,其中包含一个名为Language Code的元素,它等于“en-us”。我有一种感觉,我的问题在于我的XML代码,但我已经被困在这里很长一段时间了。请帮忙。
答案 0 :(得分:2)
“en_us”应为“en-us”:)。
糟糕!无法提交您的答案,因为:
正文必须至少30个字符;你进入了28
有。现在它超过了28. :)
答案 1 :(得分:0)
尝试从
中取出一个点 Dim itemProps = From p In element...<Property>
当你只需要下降2时,你的3级会下降。
如果这不起作用,只尝试一个点,因为基本上你旅行的路径只比文件的根目录低1。