ノードのプロパティを取得するにはどうすればいいですか?だから、Linq To Xml を使用してファイルを解析します。私はそのようにしようとします:
// load doc and then give elements.
XDocument doc = XDocument.Load(pathToFile);
var elem = doc.Root
.Elements("mode")
.Where(o => o.Attribute("name") != null)
.Elements("file")
.Where(k => k.Attribute("name") !=null && k.Attribute("name").Value == filenameTag)
.Elements("model")
.Where(o => o.Attribute("name") != null)
.Elements("class")
.Where(c => c.Attribute("name") != null);
foreach (var el in elem)
{
Console.WriteLine("First Attribute "+el.FirstAttribute.ToString());
Console.WriteLine("Name "+el.Name);
Console.WriteLine("Last Attribute " + el.LastAttribute.ToString());
var nodes=el.Nodes();
foreach (var node in nodes)
{
Console.WriteLine("node "+node.ToString());
}
}
XML ファイル:
<modes>
<mode name="mode1">
<file name="file1.xml">
<model name="Config" AllClasses="false">
<ignore.class class="class5"/>
<class name="class1" allProprs="true"/>
<class name="class2" allProps="false">
<property name="pr1"/>
<ignore.property property="pr2"/>
</class>
</model>
</file>
</mode>
</modes>
したがって、次のような文字列のみを取得します。
node <property name="pr1" />
node <ignore.property property="pr2" />
しかし、値「pr1」と「pr2」を取得する方法は?
ありがとう!