2017-08-29 90 views
-3

我有一個看起來像這樣的字符串,並希望獲取標籤內的值。C#從XPath字符串中提取xml數據值

string strXml = 
    @"<someXML> 
     <x>value1</x> 
     <y>value2</y> 
     <z>value3</z> 
    </someXML>"; 

string someData1 = "??"; 
string someData2 = "??"; 

如何影響someData1(等)與value1,value2等...?

+1

標籤內沒有值:)是的,你說得對,很簡單。你有沒有嘗試過一些簡單的東西? –

+0

Yess,對不起,忘了添加他們..:S我的不好 – Bince

+0

你到目前爲止嘗試過什麼? – JuanR

回答

2

首先,您提供的xml無效。節點不能將數字作爲第一個字符。

有了修正,這裏的問題是如何使用的XDocument對象輕易得到的值:

string strXml = 
    @"<someXML> 
     <x>value1</x> 
     <y>value2</y> 
     <z>value3</z> 
    </someXML>"; 

XDocument doc = XDocument.Parse(strXml); 
var x = doc.Element("someXML").Element("x").Value; 
var y = doc.Element("someXML").Element("y").Value; 
var z = doc.Element("someXML").Element("z").Value; 

如果你有相同名稱的多個元素,你可以使用這個:

var xValues = doc.Element("someXML").Elements("x").Select(xElement => xElement.Value); 
+0

非常感謝! – Bince