我正在尝试读取一个简单的XML文件,但是当我运行SQL时,它总是返回Ennumeration Yeilded没有结果。
不确定我的错误。
XDocument xmlInfo = XDocument.Parse(xmlContent);
XNamespace ns = xmlInfo.Root.Name.Namespace;
XNamespace ns = xmlBuilderInfo.Root.Name.Namespace;
var Info = from XMLtagin xmlInfo.Descendants()
where XMLtag.Name.LocalName == "XMLtag"
select new Information
{
Name = XMLtag.Element("name").Value.ToString(),
Region = XMLtag.Element("negion").Value.ToString()
};
InfoList.SelectedIndex = -1;
InfoList.ItemsSource = Info;
知道我做错了什么???
以下是XML文件的示例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NameAndRegionDataSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<XMLTag>
<Name>Content</Name>
<Region>Peterborough</Region>
</XMLTag>
<XMLTag>
<Name>Content</Name>
<Region>Medicine Hat</Region>
</XMLTag>
答案 0 :(得分:1)
where
子句中的“XMLtag”上的套管错误应该是“XMLTag”。
以下是我认为此代码应如下所示: -
XDocument xmlInfo = XDocument.Parse(xmlContent);
var Info = from XMLtag in xmlInfo.Root.Elements("XMLTag")
select new Information
{
Name = (string)XMLtag.Element("Name"),
Region = (string)XMLtag.Element("Region")
};
注: -
Descendents
并导致错误XName
,因此您不需要使用LocalName。String
,通过使用case获取元素的值,缺少的元素导致null而不是异常。