我正在使用充满 URL 的 XML 为学校创建一个 ping 应用程序。
由于 XmlNode.Value
导致空值,我损失了一个小时。
然后我将其更改为 InnerText
并且效果很好。
现在我想知道有什么区别,因为 MSDN 说 .Value 返回节点的值,而 InnerText
返回节点及其所有子节点的串联值。
有人可以为我解释一下吗?
<sites>
<site>
<url>www.test.be</url>
<email>test@test.be</email>
</site>
<site>
<url>www.temp.be</url>
<email>temp@temp.be</email>
</site>
<site>
<url>www.lorim.ipsum</url>
<email>interim.address@domain.com</email>
</site></sites>
最佳答案
例如,如果您的 XML 看起来像 <Foo>Bar</Foo>
那么“Bar”实际上被认为是一个单独的节点:XmlText
节点(从 XmlNode
分类)。 Value
那的属性(property)XmlText
节点将是“酒吧”。
“Foo”被认为是 XmlElement
(也从 XmlNode
分类)。 XmlNode.Value
根据节点的类型返回不同的东西。参见 this table这表明 Value
总是返回 null
对于 Element
节点。
InnerText
Foo 节点的 返回“Bar”,因为它连接了其子节点的值(在本例中,只有一个 XmlText
节点)。
关于c# - XmlNode 值与 InnerText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7877609/