Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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# 读取缺少属性值的XML数据_C#_Asp.net_.net_Xml - Fatal编程技术网

C# 读取缺少属性值的XML数据

C# 读取缺少属性值的XML数据,c#,asp.net,.net,xml,C#,Asp.net,.net,Xml,我使用以下代码使用xml文件将数据导入数据库。为此,我正在读取xml文件,并将其放入数组对象中。对于空属性,将丢失行,并且无法为这些节点设置空字符串 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path + "Data.xml"); XmlNodeList nodeList = xmlDoc.DocumentElement.SelectNodes("/DocumentElement/Profile"); //read XML data

我使用以下代码使用xml文件将数据导入数据库。为此,我正在读取xml文件,并将其放入数组对象中。对于空属性,将丢失行,并且无法为这些节点设置空字符串

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path + "Data.xml");
XmlNodeList nodeList = xmlDoc.DocumentElement.SelectNodes("/DocumentElement/Profile");

//read XML data and ID is one of the column
object[] ID = XDocument.Load(path + "Data.xml").Descendants("ID").Select(element => Element.Value).ToArray();

现在ID元素有空值,当我读取它们时,带有空值的行被省略。如何为这些空节点设置空字符串值?

您可以尝试此See null coalesce运算符

object[] ID = XDocument.Load(path + "Data.xml").Descendants("ID").Select(element => Element.Value ?? "").ToArray();

我建议您使用xml序列化器和反序列化器,我已经尝试过了,它没有向缺少的属性添加空字符串。我们在读取XML文件时必须设置空字符串。在问题中,您询问了如何处理ID属性的空值,但没有缺少ID属性。那么,您实际上想要处理什么,缺少ID属性的值还是缺少ID属性本身?缺少ID属性本身意味着标记不存在于XML文件中。我实际上想要处理缺少的属性。您需要一个有效的xsd来执行此类验证。这意味着,如果XSD说,min的ID为1,则必须在XML中存在,以将其视为VALID XML。有关更多信息,请参阅。