参考自博客:https://blog.csdn.net/snakorse/article/details/45309901
先看一下MSDN里对这两个属性的解释:
XmlNode.Value:获取或设置节点的值。
XmlNode.InnerText:获取或设置节点及其所有子节点的串联值
InnerText会把节点及其子元素的文本内容(尖括号所包含的内容)拼接起来作为返回值;而Value则不然,无论是父节点还是子节点,返回值都为null,而当操作的节点类型为属性时,Value的返回值与InnerText相同。其实,Value的返回值,与节点类型(NodeType)相关,下面是MSDN中列出的节点类型及 XmlNode.Value 的返回值:
类型 |
值 |
Attribute |
属性的值 |
CDATASection |
CDATA 节的内容。 |
Comment |
注释的内容 |
Document |
null |
DocumentFragment |
null |
DocumentType |
null |
Element |
null . 您可以使用 XmlElement.InnerText 或 XmlElement.InnerXml 属性访问元素节点的值。 |
Entity |
null |
EntityReference |
null |
Notation |
null |
ProcessingInstruction |
全部内容(不包括指令目标)。 |
Text |
文本节点的内容 |
SignificantWhitespace |
空白字符。 空白可由一个或多个空格字符、回车符、换行符或制表符组成。 |
Whitespace |
空白字符。 空白可由一个或多个空格字符、回车符、换行符或制表符组成。 |
XmlDeclaration |
声明的内容(即在 <?xml 和 ?> 之间的所有内容)。 |