2010-09-13 113 views
0

我想知道如何在xml文檔中搜索字符串。對象類型是System.Xml.XmlNode.XmlDocument。字符串可以是文檔的任何內容。即屬性或元素。XPath Powershell查詢字符串

我試圖

選擇的XML-XML $ XML -XPath 「./Test」

,但沒有得到結果

+0

問題沒有明確定義。當你說「與文檔有關的任何東西」時,你是否包括元素名稱和屬性名稱?或者只是文本內容/元素和屬性的值?另外,你需要回饋哪些信息?包含文本的屬性或最接近的元素的名稱?完整的祖先路徑? – LarsH 2010-09-13 16:47:41

回答

2

您要使用的模式選擇命名Test根節點。

你可以使用圖案(//text()|//@*)[contains(string(), "test")],其選擇包含字符串test文本節點包含它的(即,不是元素)的屬性。

但是你想選擇的元素,對不對?使用可以做到這一點,但它會選擇包含字符串test的元素,即使它是通過某個子元素(這不是我們想要的)。

所以我想你不得不使用類似(//*[contains(text(), "test")]|//@*[contains(., "test")])的東西,它給你你想要的東西,但不是很漂亮。

+0

剛剛遇到另一個問題。我怎樣才能包含這個xpath查詢來搜索xml文檔中的註釋? – Henno 2010-10-25 05:57:38