2010-09-17 2 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». –

+0

также может использовать только (string) config.Element ("UserID") –

+0

Спасибо! Он отлично работает. – kalls

Смежные вопросы