Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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
字符串的XPath Powershell查询_Powershell_Xpath - Fatal编程技术网

字符串的XPath Powershell查询

字符串的XPath Powershell查询,powershell,xpath,Powershell,Xpath,我想知道如何在xml文档中搜索字符串。对象类型为System.Xml.XmlNode.XmlDocument。字符串可以是文档中的任何内容。即属性或元素 我试过了 选择Xml-Xml$Xml-XPath.“/Test” 但是没有结果您尝试使用的模式选择名为Test的根节点 您可以使用模式(//text()|//*)[contains(string(),“test”)],选择包含字符串测试的属性或包含该字符串的文本节点(即,不是元素) 但是你想选择元素,对吗?使用(//*|//*)[包含(,“测试

我想知道如何在xml文档中搜索字符串。对象类型为System.Xml.XmlNode.XmlDocument。字符串可以是文档中的任何内容。即属性或元素

我试过了

选择Xml-Xml$Xml-XPath.“/Test”


但是没有结果

您尝试使用的模式选择名为
Test
的根节点

您可以使用模式
(//text()|//*)[contains(string(),“test”)]
,选择包含字符串
测试的属性或包含该字符串的文本节点(即,不是元素)

但是你想选择元素,对吗?使用
(//*|//*)[包含(,“测试”)]
可以做到这一点,但它会选择包含字符串
测试的元素,即使它是通过某个子元素实现的,这也不是所需要的


所以我想你必须使用类似于
(//*[contains(text(),“test”)]./*[contains(,“test”)])
的东西,这会给你想要的,但不是很漂亮。

这个问题没有很好的定义。当您说“文档中的任何内容”时,是否包括元素名和属性名?还是仅元素和属性的文本内容/值?还有,你需要什么信息?包含文本的属性或最近元素的名称?完整的祖先路径?刚刚遇到另一个问题。如何包含此xpath查询以同时搜索xml文档中的注释?