Я обеспечивая консольную программу, чтобы загрузить XML из строки .. Вы можете загрузить из файла обеспечения путь_к_файла, а .. (я уже упоминал, что заявление тоже) ..
Это ваш XML:
string xml = @"<testxml><Day>
<Monday>true</Monday>
<Tuesday>false</Tuesday>
<Wednesday>true</Wednesday>
<Thursday>false</Thursday>
<Friday>true</Friday>
<Saturday>false</Saturday>
<Sunday>true</Sunday>
</Day>
<Time>
<dateTime>12:21</dateTime>
</Time>
</testxml>";
Теперь объявить XmlDocument()
и загрузки XML в него ..
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(xml);
//xDoc.Load(xmlpath);
Теперь ваш документ xml готов .. с xDoc.Load(xmlpath);
может загружаться из пути к файлу.
Теперь обеспечивают XPath для узлов, которые вы хотите получить доступ к .. либо с помощью Nodelist (SelectNodes) или только один узел .. используя SelectSingleNode:
Я использую SelectNodes в течение нескольких дней .. и SelectSingleNode для DateTime.
string xpath = "/testxml/Day/*";
XmlNodeList xNode = xDoc.SelectNodes(xpath);
foreach (XmlNode node in xNode)
{
string day = node.LocalName;
Console.WriteLine(day + ", value=\"" + node.InnerText + "\"");
}
выше код печатает имя узла (то есть день и его значение истина/ложь)
Теперь давайте значение для печати даты и времени:
xpath = "/testxml/Time/dateTime";
XmlNode node1 = xDoc.SelectSingleNode(xpath);
Console.WriteLine(node1.LocalName + ", value=\"" + node1.InnerText + "\"");
Это был простой пример игры с XML DOM :)
Теперь весь код:
static void Main(string[] args)
{
string xml = @"<testxml><Day>
<Monday>true</Monday>
<Tuesday>false</Tuesday>
<Wednesday>true</Wednesday>
<Thursday>false</Thursday>
<Friday>true</Friday>
<Saturday>false</Saturday>
<Sunday>true</Sunday>
</Day>
<Time>
<dateTime>12:21</dateTime>
</Time>
</testxml>";
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(xml);
//xDoc.Load(xmlpath);
string xpath = "/testxml/Day/*";
XmlNodeList xNode = xDoc.SelectNodes(xpath);
foreach (XmlNode node in xNode)
{
string day = node.LocalName;
Console.WriteLine(day + ", value=\"" + node.InnerText + "\"");
}
xpath = "/testxml/Time/dateTime";
XmlNode node1 = xDoc.SelectSingleNode(xpath);
Console.WriteLine(node1.LocalName + ", value=\"" + node1.InnerText + "\"");
Console.ReadLine();
}
Надеюсь, что это поможет .. дайте мне знать, если у вас есть какие-либо вопросы ..
См. Http://stackoverflow.com/questions/2565064/reading-an-xml-file-with-net?rq=1 –
Is это весь xml или просто его часть? Что такое ожидаемый результат? Какой день или дни должны быть получены? Что вы пробовали? –
вы задаете вопрос, чтобы другие могли выполнить вашу работу ... – giammin