我正在提供一个控制台程序来从字符串加载您的 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 日期时间。
string xpath = "/testxml/Day/*";
XmlNodeList xNode = xDoc.SelectNodes(xpath);
foreach (XmlNode node in xNode)
{
string day = node.LocalName;
Console.WriteLine(day + ", value=\"" + node.InnerText + "\"");
}
上面的代码打印节点名称(即,日期及其值 true/false)
现在让我们打印日期时间值:
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();
}
希望对您有所帮助..如果您有任何问题,请告诉我..