我正在尝试向 ClaimTypesOffered 元素添加更多声明,如下所示:
<fed:ClaimTypesOffered>
<auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" Optional="true" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
<auth:DisplayName>Name</auth:DisplayName>
<auth:Description>The name of the subject.</auth:Description>
</auth:ClaimType>
</fed:ClaimTypesOffered>
那里有很多命名空间的魔法,我正在努力解决它。仅仅获得正确的元素名称是很困难的。我已经尝试了以下所有方法:
new XElement(XNamespace.Get("auth") + "ClaimType", "somedata");
给
<ClaimType xmlns="auth">somedata</ClaimType>
和
new XElement(XName.Get("{http://docs.oasis-open.org/wsfed/authorization/200706}auth"), "somedata");
给
<auth xmlns="http://docs.oasis-open.org/wsfed/authorization/200706">somedata</auth>
和
new XElement("auth:ClaimType", "somedata");
给
System.Xml.XmlException : The ':' character, hexadecimal value 0x3A, cannot be included in a name.
我正在寻求帮助以进一步解决这个问题,生成包含属性和内部元素的声明的完整示例将非常棒,即使朝着正确的方向进行小幅推动也将不胜感激。