在 C# InnerText 中加载 XML
Load XML in C# InnerText
我有一个 C# 服务,我每 1 秒循环一次,在目录中查找 XML 个文件。
这些 XML 文件可能如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<job>
<type>freelance</type>
<text>blah</text>
</job>
在 foreach 中,我执行以下操作:
var doc = new XmlDocument();
doc.LoadXml(xmlFile);
XmlNode xmltype = doc.DocumentElement.SelectSingleNode("/job/type");
然而,我更愿意在我的程序中使用这些字符串。使用 xmltype.InnerText
不起作用。 MSDN 上的文档没有为我提供任何新内容,我想知道我做错了什么。
试试这个:
string str = xmltype.Value;
下面这个控制台程序将输出"freelance"。我认为问题可能出在您的某些 XML - 您的 XML 文档的 所有 是否遵循相同的架构?我猜测代码在某些时候因 NullReferenceException
而失败。我添加了一个空检查来防止这种可能的情况。
为了帮助调试您的服务,我倾向于使用技术 described here 将应用程序 运行 作为控制台应用程序(以便于调试)或 windows 服务。
using System;
using System.Xml;
public class Program
{
static string xmlFile = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<job>
<type>freelance</type>
<text>blah</text>
</job>";
public static void Main()
{
var doc = new XmlDocument();
doc.LoadXml(xmlFile);
XmlNode xmltype = doc.DocumentElement.SelectSingleNode("/job/type");
if(xmltype==null)
{
Console.WriteLine("/job/type not found");
} else {
Console.WriteLine(xmltype.InnerText);
}
}
}
首先你要检查xml file.whether有没有数据。
之后对一个特定节点进行检查 innerText
。
例如
这是正文
XmlNode xmlType = doc.DocumentElement.SelectSingleNode("/job/type");
xmlType.innerText = "This is the Text";
xmlType.Value = "Stack";
我有一个 C# 服务,我每 1 秒循环一次,在目录中查找 XML 个文件。
这些 XML 文件可能如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<job>
<type>freelance</type>
<text>blah</text>
</job>
在 foreach 中,我执行以下操作:
var doc = new XmlDocument();
doc.LoadXml(xmlFile);
XmlNode xmltype = doc.DocumentElement.SelectSingleNode("/job/type");
然而,我更愿意在我的程序中使用这些字符串。使用 xmltype.InnerText
不起作用。 MSDN 上的文档没有为我提供任何新内容,我想知道我做错了什么。
试试这个:
string str = xmltype.Value;
下面这个控制台程序将输出"freelance"。我认为问题可能出在您的某些 XML - 您的 XML 文档的 所有 是否遵循相同的架构?我猜测代码在某些时候因 NullReferenceException
而失败。我添加了一个空检查来防止这种可能的情况。
为了帮助调试您的服务,我倾向于使用技术 described here 将应用程序 运行 作为控制台应用程序(以便于调试)或 windows 服务。
using System;
using System.Xml;
public class Program
{
static string xmlFile = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<job>
<type>freelance</type>
<text>blah</text>
</job>";
public static void Main()
{
var doc = new XmlDocument();
doc.LoadXml(xmlFile);
XmlNode xmltype = doc.DocumentElement.SelectSingleNode("/job/type");
if(xmltype==null)
{
Console.WriteLine("/job/type not found");
} else {
Console.WriteLine(xmltype.InnerText);
}
}
}
首先你要检查xml file.whether有没有数据。
之后对一个特定节点进行检查 innerText
。
例如
这是正文
XmlNode xmlType = doc.DocumentElement.SelectSingleNode("/job/type");
xmlType.innerText = "This is the Text";
xmlType.Value = "Stack";