1

私はC#、フレームワーク3.5を使用しています。xmldocumentを使用してxml値を読み取っています。属性の値は取得できますが、属性名は取得できません。例:私のxmlは次のようになります

<customer>
 <customerlist name = AAA Age = 23 />
 <customerlist name = BBB Age = 24 />
</customer>

次のコードを使用して値を読み取ることができます。

foreach(xmlnode node in xmlnodelist)
{
  customerName = node.attributes.getnameditem("name").value;
  customerAge = node.attributes.getnameditem("Age").value;
}

値の代わりに属性名(name、Age)を取得する方法。ありがとう

4

1 に答える 1

1

XmlNodeにはAttributesコレクションがあります。このコレクションのアイテムはXmlAttributesです。XmlAttributesには、特にNameプロパティとValueプロパティがあります

以下は、特定のノードの属性をループして、各属性の名前と値を出力する例です。

XmlNode node = GetNode();

foreach(XmlAttribute attribute in node.Attributes)
{
    Console.WriteLine(
        "Name: {0}, Value: {1}.",
        attribute.Name,
        attribute.Value);
}

XmlNode.Attributesのドキュメントから注意してください:

ノードのタイプがXmlNodeType.Elementの場合、ノードの属性が返されます。それ以外の場合、このプロパティはnullを返します。

アップデート

正確に2つの属性があることがわかっていて、両方の名前を同時に使用したい場合は、次のようにすることができます。

string attributeOne = node.Attributes[0].Name;
string attributeTwo = node.Attributes[1].Name;

http://msdn.microsoft.com/en-us/library/0ftsfa87.aspxを参照してください

于 2012-10-22T17:38:41.570 に答える