c# - XmlNode 值与 InnerText

标签 c# .net xml

我正在使用充满 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/

相关文章:

c# - 锚定 IE 6 错误

c# - 在循环中维护变量中的数据

c# - 不使用 key 的加密算法

c# - UI 层是否应该能够将 lambda 表达式传递到服务层而不是调用特定方法?

java - 将数据从表转换为xml文件

c# - 我想制作一个简单的程序来防止文本框将重复数据输入 DataGridView

.net - 在 C++/CLI 中引用和输出

c# - 这种制作相对路径的方法会起作用吗?

c# - 如何在 C# 中修改 Cortana 语音激活命令 (XML)?

java - eclipse 中的 jboss-web.xml 验证错误