我試圖使用元素名稱檢索屬性ID。無法做到。使用元素名稱獲取屬性ID
<root>
<child Id="001">Hello</child>
</root>
例如:當我們傳遞的價值它需要提供的屬性ID爲002
任何Hello
請幫我提前解決這個
感謝
我試圖使用元素名稱檢索屬性ID。無法做到。使用元素名稱獲取屬性ID
<root>
<child Id="001">Hello</child>
</root>
例如:當我們傳遞的價值它需要提供的屬性ID爲002
任何Hello
請幫我提前解決這個
感謝
什麼版本.NET框架你有權訪問?如果您可以使用Linq來XML檢索屬性名稱應該很容易。
XDocument document = XDocument.Load("path to your xml");
XElement element = document.Descendants.FirstOrDefault(x => x.Value == "element name");
var attribute = element.Attribute("Id");
(僞代碼,也不能保證它的工作原理完全一樣,我沒有時間,現在編譯這個權利,但是一般的想法)
下面是MSDN
Using System.Xml.Linq;
string xml = @"<root><child Id=""001"">Hello</child></root>";
XElement element = XElement.Parse(xml);
var itemName = element.Descendants().FirstOrDefault(n => n.Value == "Hello")
.Attribute("Id").Value;
一個簡單的例子
Where子句似乎不必要,因爲FirstOrDefault提供了一個謂詞,通過它可以過濾元素的值 –
Linq + XPath可以在這裏很好地工作。
var xDoc = XDocument.Parse(xml);
var id = xDoc.XPathSelectElement(String.Format("//*[text()='{0}']", "Hello"))
.Attribute("Id").Value;
你可以提供和示例和或代碼樣本你目前的工作與..基於這個問題很難確定你在說什麼,當你說通過值'你好'什麼做你的意思是以及你如何通過它?同時顯示你的代碼 – MethodMan
應該'你好'返回'001'嗎? –
你能告訴我們一個你嘗試過的任何代碼嗎? –