如何获取字符串中的xml节点值

维格涅什

我尝试了以下代码来获取特定节点的值,但是在加载xml时会引发此异常:

例外:

根级别的数据无效。第1行,位置1。

XML格式

<?xml version="1.0"?>
<Data xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Date>11-07-2013</Date> 
    <Start_Time>PM 01:37:11</Start_Time> 
    <End_Time>PM 01:37:14</End_Time> 
    <Total_Time>00:00:03</Total_Time> 
    <Interval_Time/>
    <Worked_Time>00:00:03</Worked_Time> 
    <Short_Fall>08:29:57</Short_Fall> 
    <Gain_Time>00:00:00</Gain_Time> 
</Data>

C#:

XmlDocument xml = new XmlDocument();
filePath = @"D:\Work_Time_Calculator\10-07-2013.xml";
xml.LoadXml(filePath);  // Exception occurs here 
XmlNode node = xml.SelectSingleNode("/Data[@*]/Short_Fall");
string id = node["Short_Fall"].InnerText;

修改后的代码

C#:

XmlDocument xml = new XmlDocument();
filePath = @"D:\Work_Time_Calculator\10-07-2013.xml";
xml.Load(filePath);  
XmlNode node = xml.SelectSingleNode("/Data[@*]/Short_Fall");
string id = node["Short_Fall"].InnerText; // Exception occurs here ("Object reference not set to an instance of an object.")
原因

您的代码中的问题是 xml.LoadXml(filePath);

LoadXml方法将参数作为xml数据而不是xml文件路径

试试这个代码

   string xmlFile = File.ReadAllText(@"D:\Work_Time_Calculator\10-07-2013.xml");
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.LoadXml(xmlFile);
                XmlNodeList nodeList = xmldoc.GetElementsByTagName("Short_Fall");
                string Short_Fall=string.Empty;
                foreach (XmlNode node in nodeList)
                {
                    Short_Fall = node.InnerText;
                }

编辑

看到您对问题的最后修改后,我找到了解决方案,

只需替换下面的两行

XmlNode node = xml.SelectSingleNode("/Data[@*]/Short_Fall");
string id = node["Short_Fall"].InnerText; // Exception occurs here ("Object reference not set to an instance of an object.")

string id = xml.SelectSingleNode("Data/Short_Fall").InnerText;

它应该可以解决您的问题,或者您可以使用我之前提供的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取字符串C ++中字符的值?

来自分类Dev

如何从流中获取字符串数组值?

来自分类Dev

如何从java列表中获取字符串值

来自分类Dev

从嵌套标记中获取字符串中包含的XML的值

来自分类Dev

从全局范围的XML资源文件中获取字符串值

来自分类Dev

@XmlElement - 从未使用 @xml-antation 映射的对象中获取字符串值

来自分类Dev

从字符串值获取字符?

来自分类Dev

如何在jQuery中获取字符串中所有无效字符的值?

来自分类Dev

Swift如何使用枚举获取字符串值

来自分类Dev

如何从JToken获取字符串值

来自分类Dev

如何使用枚举获取字符串值

来自分类Dev

Java:如何获取字符串的枚举值?

来自分类Dev

我如何从json解码并获取字符串值

来自分类Dev

如何获取字符串的ASCII值

来自分类Dev

如何从char *而不是地址获取字符串的值

来自分类Dev

如何获取字符串值而不是整数

来自分类Dev

如何从JSON获取字符串值?

来自分类Dev

R如何获取字符串中的字符列表

来自分类Dev

如何从输入字符串中获取字符数?

来自分类Dev

PHP:如何获取字符串中的重复字符

来自分类Dev

PHP:如何获取字符串中的重复字符

来自分类Dev

如何获取字符串中字符的位置?

来自分类常见问题

从Java中的枚举获取字符串值

来自分类Dev

从Angular 8中的后端获取字符串值

来自分类Dev

在C#中获取字符串之间的值

来自分类Dev

从线程中获取字符串值

来自分类Dev

仅从NSArray输出中获取字符串值

来自分类Dev

无法从继承中获取字符串值

来自分类Dev

从选择 UISegmentedControl 段中获取字符串值