本文整理汇总了C#中System.Xml.Linq.XDocument.GetUniqueElement方法的典型用法代码示例。如果您正苦于以下问题:C# XDocument.GetUniqueElement方法的具体用法?C# XDocument.GetUniqueElement怎么用?C# XDocument.GetUniqueElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.Linq.XDocument
的用法示例。
在下文中一共展示了XDocument.GetUniqueElement方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InsertResourceMapping
public static void InsertResourceMapping(this XDocument primaryMapping, XDocument secondaryMapping)
{
XElement uniqueElement = primaryMapping.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "Resources");
XElement xElement = secondaryMapping.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "Resources");
foreach (XElement xElement1 in xElement.Elements())
{
uniqueElement.AddFirst(xElement1);
}
uniqueElement = primaryMapping.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "ClassImplementations");
xElement = secondaryMapping.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "ClassImplementations");
foreach (XElement xElement2 in xElement.Elements())
{
uniqueElement.AddFirst(xElement2);
}
}
示例2: LoadSchema
internal Schema LoadSchema(List<MofSpecification> mofs, XDocument dispatch, bool allowInvoke = false)
{
string value = dispatch.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "SchemaNamespace").Value;
string str = dispatch.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "ContainerName").Value;
Schema schema = new Schema(str, value);
if (allowInvoke)
{
string str1 = Encoding.ASCII.GetString(Resources.genericInvoke);
MofSpecification mofSpecification = MofFileParser.ParseMofFile(str1.AsEnumerable<char>(), "(command invocation types)");
mofs.Add(mofSpecification);
XDocument xDocument = this.XDocumentFromString(Encoding.ASCII.GetString(Resources.GenericInvokeMapping));
dispatch.InsertResourceMapping(xDocument);
}
XElement uniqueElement = dispatch.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "Resources");
this.AddToSchema(schema, new MofSpecificationSet(mofs.ToArray()), uniqueElement);
schema.FreezeSchema();
try
{
foreach (ResourceType property in schema.ResourceTypes.Values)
{
IEnumerator<ResourceProperty> enumerator = property.Properties.GetEnumerator();
using (enumerator)
{
while (enumerator.MoveNext())
{
//property;
}
}
}
}
catch (InvalidOperationException invalidOperationException1)
{
InvalidOperationException invalidOperationException = invalidOperationException1;
throw new MetadataException(ExceptionHelpers.GetExceptionMessage(invalidOperationException.Message, new object[0]), invalidOperationException);
}
if (allowInvoke)
{
SchemaLoader.PopulateInvocationEntityMetadata(schema);
}
SchemaLoader.PopulateResourceMetadata(schema, dispatch);
schema.Trace("New schema loaded in memory ");
return schema;
}
示例3: PopulateResourceMetadata
private static void PopulateResourceMetadata(Schema schema, XDocument dispatchXml)
{
XElement uniqueElement = dispatchXml.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "ClassImplementations");
foreach (XElement xElement in uniqueElement.Elements())
{
string value = xElement.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "Name").Value;
ResourceType resourceType = null;
if (schema.ResourceTypes.TryGetValue(SchemaLoader.TransformCimNameToCsdl(value, true), out resourceType))
{
XElement xElement1 = xElement.TryGetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "ClrType");
if (xElement1 != null)
{
resourceType.SetClrTypeStr(xElement1.Value);
}
XElement xElement2 = xElement.TryGetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "RenamedFields");
if (xElement2 != null)
{
foreach (XElement xElement3 in xElement2.Elements())
{
string str = xElement3.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "SchemaProperty").Value;
string value1 = xElement3.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "PowerShellProperty").Value;
ResourceProperty resourceProperty = resourceType.Properties.FirstOrDefault<ResourceProperty>((ResourceProperty it) => string.Equals(str, it.Name, StringComparison.Ordinal));
if (resourceProperty != null)
{
resourceProperty.GetCustomState().PsProperty = value1;
}
else
{
object[] objArray = new object[2];
objArray[0] = value;
objArray[1] = str;
throw new MetadataException(ExceptionHelpers.GetExceptionMessage(Resources.InvalidRenamedProperty, objArray));
}
}
}
schema.ResourceTypes.Values.Where<ResourceType>((ResourceType item) => item.BaseType == resourceType).ToList<ResourceType>().ForEach((ResourceType item) => resourceType.AddDerivedType(item));
if (resourceType.ResourceTypeKind != ResourceTypeKind.EntityType)
{
continue;
}
PSEntityMetadata pSEntityMetadatum = new PSEntityMetadata();
XElement uniqueElement1 = xElement.GetUniqueElement("http://schemas.microsoft.com/powershell-web-services/2010/09", "CmdletImplementation");
SchemaLoader.PopulateCmdletInformation(resourceType, Microsoft.Management.Odata.Core.CommandType.Read, uniqueElement1, "Query", pSEntityMetadatum);
SchemaLoader.PopulateCmdletInformation(resourceType, Microsoft.Management.Odata.Core.CommandType.Create, uniqueElement1, "Create", pSEntityMetadatum);
SchemaLoader.PopulateCmdletInformation(resourceType, Microsoft.Management.Odata.Core.CommandType.Update, uniqueElement1, "Update", pSEntityMetadatum);
SchemaLoader.PopulateCmdletInformation(resourceType, Microsoft.Management.Odata.Core.CommandType.Delete, uniqueElement1, "Delete", pSEntityMetadatum);
SchemaLoader.PopulateCmdletReferenceSetInfo(resourceType, uniqueElement1, pSEntityMetadatum);
schema.EntityMetadataDictionary.Add(SchemaLoader.TransformCimNameToCsdl(value, true), pSEntityMetadatum);
}
else
{
object[] objArray1 = new object[1];
objArray1[0] = value;
throw new MetadataException(ExceptionHelpers.GetExceptionMessage(Resources.MappingClassNotFound, objArray1));
}
}
foreach (ResourceType resourceType1 in schema.ResourceTypes.Values)
{
if (resourceType1.ResourceTypeKind != ResourceTypeKind.EntityType)
{
continue;
}
if (!schema.EntityMetadataDictionary.ContainsKey(resourceType1.FullName))
{
schema.EntityMetadataDictionary.Add(resourceType1.FullName, new PSEntityMetadata());
}
if (schema.EntityMetadataDictionary[resourceType1.FullName] as PSEntityMetadata == null)
{
continue;
}
SchemaLoader.UpdateEntityPropertyMetadata(schema.EntityMetadataDictionary[resourceType1.FullName] as PSEntityMetadata, resourceType1);
}
}