3

我正在尝试在 C# 中解析我的 XML。

这是相关文件的一部分:

<holder name="wnd_login" width="300" x="20" height="180">...</holder>

这是应该阅读它的代码:

while (reader.Read())
{
    if (reader.IsStartElement())
    {
        switch (reader.Name)
        {
            case "holder":
                Holder holder = new Holder(reader.GetAttribute("name"));
                ...
        }
    }
}

我读到了一个常见的错误是忘记检查元素是否是开始元素。我添加了它,但 GetAttribute 仍然返回 null。任何想法?

4

1 回答 1

-4

也许您需要首先使用 XPath 表示法获取 XmlNodes,然后像这样遍历 XmlNodes:

foreach(XmlNodes 中的 XmlNode 节点){
     if (node["holder"].HasAttribues != null && node["holder"].Attributes.Count >1){
        for (int i = 0; i < node["holder"].Attributes.Count; i++){
             尝试{
                XmlAttribute attr = node["holder"].Attributes[i];
                如果(属性!= null){
                     ……
                }
             }catch(XmlException xmlEx){
                // 在这里做一些事情...输出到日志?
             }
        }
     }
}

希望这会有所帮助,最好的问候,汤姆。

于 2010-02-28T01:14:26.780 回答