0

指定された名前のselectall属性を渡すと、PowerShellを介してxpath全体を取得できますか?

私のxmlファイルにはlangという名前の属性があります。//@langで属性値を見つけるために使用します。

[/ root / child / @ attributeのように)完全なxpathを取得できれば、混乱を避けることができます。

4

1 に答える 1

2

いいえ。

.NETには、「ノードを指定して、XPath式を作成する」関数はありません。理論的にはこれは簡単ですが(親にとっては繰り返しますが、各レベルで兄弟の基数を取得して作成します/node[n]/node[n]/...)、実際には、このようなXPath式は特定のドキュメントに関連付けられているため役に立ちません。

スキーマが一致する別のドキュメントでは、レベルごとに子の数が異なり、順序も異なる可能性があります。そのようなXPathは同等のノードを見つけられません。

検討:

<root>
 <child1 attr1='foo'/>
</root>

<root>
 <child1 attr1='bar'/>
 <child1 attr1='foo'/>
</root>

最初のドキュメントから生成された式/root/child1[1]/@attr1は、2番目のドキュメントで異なる(類似しているとはいえ)ノードを検出します。

于 2012-05-14T13:40:06.787 に答える