Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言读取XML文件# 真的 假的 真的 假的 真的 假的 真的 12:21_C#_Xml - Fatal编程技术网

C# 用C语言读取XML文件# 真的 假的 真的 假的 真的 假的 真的 12:21

C# 用C语言读取XML文件# 真的 假的 真的 假的 真的 假的 真的 12:21,c#,xml,C#,Xml,我需要读取上面的xml文件来获取日期和时间,将获取的数据分配到一个变量。如何使用c#?实现这一点,您尝试了什么 看一看课堂文档。在那里你可以做一些类似的事情 <Day> <Monday>true</Monday> <Tuesday>false</Tuesday> <Wednesday>true</Wednesday> <Thursday>false</Thursday> <Frida

我需要读取上面的xml文件来获取日期和时间,将获取的数据分配到一个变量。如何使用c#?

实现这一点,您尝试了什么

看一看课堂文档。在那里你可以做一些类似的事情

<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>
XDocument document=XDocument.Load(XMLPATH);
IEnumerable day=document.Elements(“日”);

我提供了一个控制台程序来从字符串加载XML。。您也可以从提供文件路径的文件加载。。(我也提到了这一说法)

这是您的XML:

XDocument document = XDocument.Load(XMLPATH);
IEnumerable<XElement> day = document.Elements("Day");
现在您的xml文档已经准备好了。。使用
xDoc.Load(xmlpath)可以从文件路径加载

现在为要访问的节点提供xpath。。使用节点列表(选择节点)或仅使用一个节点。。使用selectSingleNode:

我正在使用selectNodes达数天之久。。然后选择SingleNode作为datetime

        XmlDocument xDoc = new XmlDocument();
        xDoc.LoadXml(xml);
        //xDoc.Load(xmlpath);
上面的代码打印节点名称(即,日期及其值true/false)

现在,让我们打印日期时间值:

            string xpath = "/testxml/Day/*";
            XmlNodeList xNode = xDoc.SelectNodes(xpath);

            foreach (XmlNode node in xNode)
            {
                string day = node.LocalName;
                Console.WriteLine(day + ", value=\"" + node.InnerText + "\"");
            }
这是使用XML DOM的简单示例:)

现在有一个完整的代码:

            xpath = "/testxml/Time/dateTime";
            XmlNode node1 = xDoc.SelectSingleNode(xpath);
            Console.WriteLine(node1.LocalName + ", value=\"" + node1.InnerText + "\"");
static void Main(字符串[]args)
{
字符串xml=@“
真的
假的
真的
假的
真的
假的
真的
12:21
";
XmlDocument xDoc=新的XmlDocument();
LoadXml(xml);
//加载(xmlpath);
字符串xpath=“/testxml/Day/*”;
XmlNodeList xNode=xDoc.SelectNodes(xpath);
foreach(xNode中的XmlNode节点)
{
string day=node.LocalName;
Console.WriteLine(day+,value=\“”+node.InnerText+“\”);
}
xpath=“/testxml/Time/dateTime”;
xmlnode1=xDoc.SelectSingleNode(xpath);
Console.WriteLine(node1.LocalName+”,值=\“”+node1.InnerText+“\”);
Console.ReadLine();
}

希望能有帮助。。如果您有任何问题,请告诉我。

是指整个xml还是只是其中的一部分?预期的结果是什么?应该取哪一天或哪几天?你试过什么?你问的问题是让别人完成你的工作……我没有试过,因为我是c#的新手。我在寻找创意。谢谢你的回答谢谢。这就行了。
            xpath = "/testxml/Time/dateTime";
            XmlNode node1 = xDoc.SelectSingleNode(xpath);
            Console.WriteLine(node1.LocalName + ", value=\"" + node1.InnerText + "\"");
     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();
        }