【发布时间】:2009-09-21 04:23:05
【问题描述】:
我有以下方法来解析 XMLElements:
DisplayMessages(XElement root)
{
var items = root.Descendants("Item");
foreach (var item in items)
{
var name = item.Element("Name");
....
}
}
在调试模式下,我可以像这样看到根为 XML:
<ItemInfoList>
<ItemInfo>
<Item>
<a:Name>item 1</a:Name>
...
<Item>
...
并且 var name 为空(我希望得到“项目 1”)。我尝试使用“a:Name”,但它导致异常(“字符:不能在名称中使用”)。我不确定是否必须在根 XElelement 中设置命名空间。 root 下的所有 xml 节点都应该在同一个命名空间中。
我是 XElement 的新手。在我的代码中,item.Element("Name") 将获取其子节点“Name”的值,对吗?
【问题讨论】:
-
root这里是 XML 的实际根节点吗?即,您的 XML sn-p 是您收到的完整 XML 文档吗?如果是,那么它就是无效的 XML。