gpt4 book ai didi

c# - 找不到命名元素

转载 作者:行者123 更新时间:2023-11-30 20:11:02 25 4
gpt4 key购买 nike

这段代码对我来说有些东西没有点击:

var cfgDoc = XElement.Load(_cfgFile);
foreach (var x in cfgDoc.Elements("property"))
{
Console.WriteLine(x);
}

我希望能够只输出名为 property 的节点,但结果却一筹莫展。如果我将 XName 参数排除在外,我会得到文档(如下),它至少显示它正在正确加载。

我错过了什么?

<session-factory xmlns="urn:nhibernate-configuration-2.2">
<property name="connection.release_mode">on_close</property>
<property name="show_sql">true</property>
</session-factory>

第二次尝试

var cfgDoc = XElement.Load(_cfgFile);
XNamespace ns = "urn:nhibernate-configuration-2.2";
var properties = cfgDoc.Elements(ns + "property");
Assert.That(properties.Count() > 0);
foreach (var x in cfgDoc.Elements(ns + "property"))
{
Console.WriteLine(x);
}

最佳答案

您没有提供子元素有效继承的 namespace 。试试这个:

var cfgDoc = XElement.Load(_cfgFile);
XNamespace ns = "urn:nhibernate-configuration-2.2";
foreach (var x in cfgDoc.Elements(ns + "property"))
{
Console.WriteLine(x);
}

关于c# - 找不到命名元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4308590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com