3

XML を C# で解析しようとしています。

関連するファイルの一部を次に示します。

<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];
                if (attr != null){
                     ....
                }
             }catch(XmlException xmlEx){
                // これで何かを行う...出力をログに記録しますか?
             }
        }
     }
}

これがお役に立てば幸いです。よろしくお願いします、トム。

于 2010-02-28T01:14:26.780 に答える