Czytanie wartości atrybutów za pomocą XmlReader
Mam plik XML, z którego próbuję odczytaćtutaji mają następujący kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;
namespace XML
{
class Program
{
static void Main(string[] args)
{
XmlTextReader textReader = new XmlTextReader("secLendingXML.cfm.xml");
while (textReader.Read())
{
switch (textReader.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine(textReader.Name);
Console.WriteLine(textReader.Value);
break;
case XmlNodeType.Text:
Console.WriteLine(textReader.Value);
break;
case XmlNodeType.XmlDeclaration:
case XmlNodeType.ProcessingInstruction:
Console.WriteLine(textReader.Name + " " + textReader.Value);
break;
case XmlNodeType.Comment:
Console.WriteLine(textReader.Value);
break;
case XmlNodeType.EndElement:
break;
}
}
Console.ReadLine();
}
}
}
Kod działa poprawnie w tym sensie, że odczytuje węzły i zwraca nazwy. Ale problem polega na tym, że próbuję również pobrać dane w węzłach. Innymi słowy, gdy przeczyta pierwszą sekcję po sekcji testowej, będzie to czytać:
slnc:DataSet
slnc:Group
slnc:Section
slnc:ActualAvailableToBorrow
*** here ***
slnc:oustandingLoans
W tym miejscu chcę, aby czytnik tekstu odczytywał następujące wartości w węźleconfidentiality="F"
, currency="USD"
, itp., ale po prostu przeskakuje w prawo do następnej sekcji bez czytania tych wartości!
<slnc:actualAvailableToBorrow xmlns:slnc="http://www.newyorkfed.org/xml/schemas/SecLending"
confidentiality="F" currency="USD" decimals="0" method="AA"
multiplier="5" securityLendingType="AA" status="A" value="1474"/>
Jak sprawić, aby czytnik tekstu odczytywał wartości atrybutów? Idealnym rozwiązaniem byłoby wydrukowanie wartości „waluta”, a następnie jej wartości: „F” i tak dalej.