【发布时间】:2013-03-06 05:50:37
【问题描述】:
让我们将以下 xml 结构视为
<membership defaultProvider="SQLMembershipProvider">
<providers>
<add name="SQLMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SQLMembershipConnString" applicationName=".NET Pet Shop 4.0" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" />
</providers>
</membership>
我用下面的代码检查了类型是否包含“System.Web.Security.SqlMembershipProvider”如下
var prop1 = prop.Descendants(ns + "add").First(p => p.Attribute("type").Value == "System.Web.Security.SqlMembershipProvider");
我的查询是用上面的查询得到connectionStringName的属性值
等待您的回复
【问题讨论】:
-
您确认
ns包含预期的命名空间前缀(来自您的示例XML,没有)并且您是否尝试访问刚刚将p.Attribute("type")转换为string? -
@M.Babcock 我已将 ns 值重试为 var ns = xDoc.Descendants().First(x => x.Name.LocalName == "configuration").Name.Namespace;跨度>
-
@M.Babcock 我已经尝试过了,但出现错误无法将表单字符串转换为 bool 像 tat 你能提供一些结构吗
-
@M.Babcock 我需要的是获取xml上面的connectionStringName表单的值
-
这是您要找的吗?
var connStringName = prop1.Attribute("connectionStringName").Value;