次のようなXMLファイルがあります
<NODE1 attribute1 = "SomeValue" attribute2 = "SomeOtherValue" />
<NODE2 attribute3 = "SomeValue" attribute4 = "SomeOtherValue" />
現在、「attribute3」という属性名のみが与えられています。ノードの名前を取得するにはどうすればよいですか?
ファイルの先頭に次の名前空間を追加します。
using System.Xml.Linq;
そして、これを試してください ( input.xmlが XML ファイルへのパスであると仮定します):
var xml = XDocument.Load("input.xml");
string nodeName;
var node = xml.Descendants()
.FirstOrDefault(e => e.Attribute("attribute3") != null);
if (node != null)
nodeName = node.Name.LocalName;
このようにしてみてください
string nodeName;
if(Node.Attributes.Cast<XmlAttribute>().Any(x => x.Name == "attribute3"))
{
nodeName=Node.Name;
}