У меня есть документ XML, который выглядит следующим образом:Фиксирующих XML элементов по значению атрибута в .NET
<?xml version="1.0" encoding="utf-8"standalone="yes"?>
<WorkItem TimeZone="Mountain Standard" Offset="-07:00:00">
<RevisionFields>
<Field ReferenceName="OriginalTestEstimate" Name="Estimated Test" Type="Double">
<Value>5</Value>
</Field>
<Field ReferenceName="RemainingDevWork" Name="Remaining Dev" Type="Double">
<Value>9</Value>
</Field>
<Field ReferenceName="RemainingTestWork" Name="Remaining Test" Type="Double">
<Value>5</Value>
</Field>
...
Служба, TFS, что я называю это дает мне как XmlDocument
объекта. Я пытаюсь получить доступ к полям Value
. Я могу использовать workItem["WorkItem"]["RevisionFields"]
, чтобы добраться до массива всех полей, но когда я пытаюсь добраться до определенного поля, используя эту нотацию, я застрял.
Поскольку «Name» установлен, я попытался с помощью этого (то есть workItem["WorkItem"]["RevisionFields"]["Remaining Test"]
, но это просто возвращает нуль.
Что мне нужно сделать, чтобы я мог получить непосредственно на значения в полях? (Я бы предпочел не придется перебирать все поля)
Вы находитесь на правильном пути, но это все равно вернет XmlNodeList. – harpo
@harpo: 'SelectSingleNode' возвращает' XmlNode'. Кроме того, я не вижу, что не так с 'XmlNodeList'. Насколько я понял, OP просто хочет избежать итерации * неинтересных * узлов вручную. – Tomalak
@Tomalak, мой плохой. Как-то я читал это как требующий массив строк. – harpo