質問

特定のローカル名と名前空間を持つ要素から単一の特定の属性を取得できるようにする必要があります(XMPPに精通している場合、その理由は理解できます)。独自の(列挙子または単一選択)拡張メソッドを作成する以外に、アイデアはありますか?

次のものがありますが、まったく好きではありません:

        XAttribute from = (from c in elem.Attributes()
                           where c.Name.LocalName == "from"
                           select c).FirstOrDefault<XAttribute>();

        XAttribute to = (from c in elem.Attributes()
                         where c.Name.LocalName == "to"
                         select c).FirstOrDefault<XAttribute>();

編集:次のようなものが欲しい:

        string val = (string)elem.Attribute("{*}to");

解決策:

        XAttribute from = elem.Attributes()
            .FirstOrDefault(a => a.Name.LocalName == "from");

        XAttribute to = elem.Attributes()
            .FirstOrDefault(a => a.Name.LocalName == "to");
役に立ちましたか?

解決

構文が気に入らない場合は、これを使用できます;

elem.Attributes().FirstOrDefault(a=>a.Name.LocalName == "from");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top