pregunta simple pero he estado dinking durante una hora y realmente me está empezando a frustrar. Tengo XML que tiene este aspecto:Obtiene el contenido del nodo XML usando C#
<TimelineInfo>
<PreTrialEd>Not Started</PreTrialEd>
<Ambassador>Problem</Ambassador>
<PsychEval>Completed</PsychEval>
</TimelineInfo>
Y todo lo que quiero hacer es usar C# para obtener la cadena almacenada entre <Ambassador>
y </Ambassador>
.
hasta ahora tengo:
XmlDocument doc = new XmlDocument();
doc.Load("C:\\test.xml");
XmlNode x = doc.SelectSingleNode("/TimelineInfo/Ambassador");
que selecciona la nota muy bien, ahora cómo en el mundo puedo obtener el contenido ahí dentro?
No debería ser necesario para echar a XmlElement - InnerText se define en el XmlNode padre como virtual y XmlElement simplemente lo reemplaza de forma normal. –
BTW, en caso de que otros se encuentren con esto, el lanzamiento a la cadena es importante (XElement define muchas conversiones explícitas para que puedas hacer cosas como esta y no tengas que llamar a los métodos Convert), en cambio podrías estar tentada a ToString, pero eso no obtiene el mismo resultado (obtendría todo el elemento, incluidos la apertura, el cierre y el contenido) –
BTW, ya que en este fragmento de ejemplo no estamos realmente utilizando el XDocument, una versión ligeramente más simple sería XElement.Load el archivo que obtiene el elemento raíz directamente. Sin embargo, eso es solo un punto de trivia: XDocument.Load es ciertamente lo que quieres usar en el caso típico. :) –