простой вопрос, но я часами обнимался с ним, и это действительно меня разочаровывает. У меня есть XML, который выглядит следующим образом:Получите содержимое узла XML, используя C#
<TimelineInfo>
<PreTrialEd>Not Started</PreTrialEd>
<Ambassador>Problem</Ambassador>
<PsychEval>Completed</PsychEval>
</TimelineInfo>
И все, что я хочу сделать, это использовать C#, чтобы строка хранится между <Ambassador>
и </Ambassador>
.
До сих пор у меня есть:
XmlDocument doc = new XmlDocument();
doc.Load("C:\\test.xml");
XmlNode x = doc.SelectSingleNode("/TimelineInfo/Ambassador");
который выбирает записку просто отлично, теперь, как в мире я могу получить содержание там?
Вы не должны бросить в XmlElement - InnerText определяется в родительском XmlNode как виртуальном, а XmlElement просто переопределяет его, как обычно. –
BTW, в случае, если другие сталкиваются с этим - важна листинг для строки (XElement определяет множество явных преобразований, поэтому вы можете делать такие вещи, как это, и не нужно самим переводить методы Convert) - вместо этого вам может быть соблазн ToString, но это не дает вам того же результата (он получит весь элемент, включая открытие, закрытие и содержимое) –
Кстати, поскольку в этом фрагменте примера мы не используем XDocument, чуть более простой версией будет XElement.Load файл, который получает ваш корневой элемент напрямую. Однако это всего лишь пустяки - XDocument.Load - это то, что вы хотите использовать в типичном случае. :) –