我正在尝试从XML中读取一些数据。我在另一个应用程序中使用相同的代码,几乎相同的XML布局,似乎工作.. 但我无法使用此代码在foreach循环中运行任何代码:
如果If有一个断点并且查看_xml.Elements
,它似乎读取了XML XElement value in _xml.Elements("effects").Elements("effect")
C#
XElement _xml = XElement.Load("Effects.xml");
{
foreach (XElement value in _xml.Elements("effects").Elements("effect"))
{
//will not execute any code in here.
DVOXML _item = new DVOXML();
_item.Name = value.Element("name").Value;
_item.Param = value.Element("params").Value;
}
}
XML:
<?xml version="1.0" ?>
<effects>
<effect>
<name>effect1</name>
<params>xmldata</params>
</effect>
<effect>
<name>effect2</name>
<params>xmldata</params>
</effect>
</effects>
答案 0 :(得分:2)
在你的情况下,效果是根。
使用此:
foreach (XElement value in _xml.Elements("effect"))
{
.....
}
答案 1 :(得分:2)
您不需要包含&#34;效果&#34;在您的查询中 - 已经是根。只需将此作为您的查询:
foreach (XElement value in _xml.Elements("effect"))
这里有fiddle证明它有效。