Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如果我们传递整个属性(//@lang),有没有办法显示完整的xpath?_Xml_Powershell_Xpath_Powershell 2.0 - Fatal编程技术网

Xml 如果我们传递整个属性(//@lang),有没有办法显示完整的xpath?

Xml 如果我们传递整个属性(//@lang),有没有办法显示完整的xpath?,xml,powershell,xpath,powershell-2.0,Xml,Powershell,Xpath,Powershell 2.0,如果我们用给定的名称传递selectall属性,是否可以通过powershell获得整个xpath 我的xml文件有一个名为lang的属性。我使用//@lang查找属性值 如果我能获得完整的xpath[like/root/child/@attribute],它将避免混淆。否 .NET没有“给定一个节点,创建一个XPath表达式”函数。虽然理论上这很容易(迭代到父节点,获取每个级别的兄弟节点的基数来创建/node[n]/node[n]/…),但实际上这种XPath表达式是无用的,因为它们与特定的文

如果我们用给定的名称传递selectall属性,是否可以通过powershell获得整个xpath

我的xml文件有一个名为lang的属性。我使用//@lang查找属性值

如果我能获得完整的xpath[like/root/child/@attribute],它将避免混淆。

.NET没有“给定一个节点,创建一个XPath表达式”函数。虽然理论上这很容易(迭代到父节点,获取每个级别的兄弟节点的基数来创建
/node[n]/node[n]/…
),但实际上这种XPath表达式是无用的,因为它们与特定的文档相关联

另一个匹配模式的文档可能在每个级别上有不同数量的子级,并且可能有不同的顺序;这样的XPath将找不到等效的节点

考虑:

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


从第一个文档生成的表达式
/root/child1[1]/@attr1
将在第二个文档中找到一个不同的节点(尽管类似)

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