特定のパス(「/ path / to / element / I / want」など)についてオブジェクトにクエリを実行したいのXDocument
ですが、続行する方法がわかりません。
質問する
18829 次
4 に答える
60
からのメソッドを使用System.Xml.XPath.Extensions
してこれを行うことができます。
たとえば、単一の要素を選択する場合は、次を使用しますXPathSelectElement()
。
var element = doc.XPathSelectElement("/path/to/element/I/want");
クエリは、説明したような単純なパスである必要はなく、XPath言語を使用します。
于 2012-06-27T10:56:17.533 に答える
6
これはやや古い投稿ですが、要素内のパスに基づいて要素を検索LINQ-to-XML
する代わりに使用できることに注意してください。System.XML.XPath
XDocument
例:
var results = x.Elements("path").Elements("to").Elements("element").Elements("I").Elements("want").FirstOrDefault();
注: XML の実際の構造やカーディナリティに対応するために、LINQ to XML コマンドを変更する必要がある場合があります。
于 2015-03-09T17:30:02.783 に答える
-2
これに似たものが機能する可能性があります。
var path = "/path/to/element/I/want";
var route = path.Split(new []{'/'}, StringSplitOptions.RemoveEmptyEntries);
XElement result = null;
foreach (var node in route)
{
if (result == null)
{
result = _xmlDocument.Element(node);
}
else
{
result = result.Element(node);
}
}
return result;
于 2012-06-27T10:54:29.863 に答える