2010-09-17 91 views
0
XElement config = XElement.Parse(
@"<Response SessionId='BEDF38F9ADAB4F029404C69E49951E73' xmlns='http://schemas.sample.com/sample.xsd'> 
    <Status Success='true' Message='User is now logged in.' ErrorCode='0' /> 
    <UserID>80077702-0</UserID> 
    </Response>");  
string masterID = (string)config.Element("UserID") 

如何從UserID元素獲取值UserID?Linq to XML - 如何獲取元素的值

回答

2

由於XML指定xmlns='http://schemas.sample.com/sample.xsd'您將需要前綴命名空間的元素來獲取值:

XElement config = XElement.Parse(@"<Response SessionId='BEDF38F9ADAB4F029404C69E49951E73' xmlns='http://schemas.sample.com/sample.xsd'> 
    <Status Success='true' Message='User is now logged in.' ErrorCode='0' /> 
    <UserID>80077702-0</UserID> 
    </Response>");  

var ns = config.GetDefaultNamespace(); 
string masterID = config.Element(ns + "UserID").Value; 

如果xmlns不是你可以做它的XML的部分,直接使用config.Element("UserID").Value

+0

+1。我懶得翻看,所以我錯過了'xmlns'。 – 2010-09-17 15:59:14

+0

也可以使用just(string)config.Element(「UserID」) – 2010-09-17 15:59:52

+0

謝謝!它效果很好。 – kalls 2010-09-17 16:01:03