本文整理汇总了C#中System.Xml.XmlElement.Attribute方法的典型用法代码示例。如果您正苦于以下问题:C# XmlElement.Attribute方法的具体用法?C# XmlElement.Attribute怎么用?C# XmlElement.Attribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlElement
的用法示例。
在下文中一共展示了XmlElement.Attribute方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitNode
private void VisitNode(XmlElement elem, ItemReference masterRef)
{
var textChildren = elem.ChildNodes.OfType<XmlText>().ToList();
// Add a dependency to the relevant itemTypes
if (elem.LocalName == "Item" && elem.HasAttribute("type"))
{
ItemType itemType;
if (_metadata.ItemTypeByName(elem.Attribute("type").ToLowerInvariant(), out itemType))
{
AddDependency(itemType.Reference, elem, elem, masterRef);
}
else
{
AddDependency(new ItemReference("ItemType", ItemTypeByNameWhere + elem.Attributes["type"].Value + "'")
{
KeyedName = elem.Attributes["type"].Value
}, elem, elem, masterRef);
}
}
// Item property node
if (elem.HasAttribute("type") && textChildren.Count == 1 && !string.IsNullOrEmpty(textChildren[0].Value))
{
AddDependency(ItemReference.FromItemProp(elem), elem.Parent(), elem, masterRef);
}
else if (elem.LocalName == "sqlserver_body" && elem.Parent().LocalName == "Item" && elem.Parent().Attribute("type") == "SQL")
{
var names = GetInnovatorNames(elem.InnerText)
.Select(n => n.FullName.StartsWith("innovator.", StringComparison.OrdinalIgnoreCase) ?
n.FullName.Substring(10).ToLowerInvariant() :
n.FullName.ToLowerInvariant())
.Distinct();
ItemType itemType;
ItemReference sql;
foreach (var name in names)
{
if (_metadata.ItemTypeByName(name.Replace('_', ' '), out itemType))
{
AddDependency(itemType.Reference, elem.Parent(), elem, masterRef);
}
else if (_metadata.SqlRefByName(name, out sql))
{
AddDependency(sql, elem.Parent(), elem, masterRef);
}
}
}
else if (elem.LocalName == "data_source" && textChildren.Count == 1 && !string.IsNullOrEmpty(textChildren[0].Value))
{
// Property data source dependencies
var parent = elem.ParentNode as XmlElement;
if (parent != null && parent.LocalName == "Item" && parent.Attribute("type") == "Property")
{
var keyedName = elem.Attribute("keyed_name");
var itemtype = _metadata.ItemTypes.FirstOrDefault(i => i.Reference.Unique == elem.Parent().Parent().Parent().Attribute("id") && i.IsPolymorphic);
if (itemtype == null)
{
var dataType = parent.Element("data_type");
if (dataType != null)
{
switch (dataType.InnerText.ToLowerInvariant())
{
case "list":
case "mv_list":
case "filter list":
AddDependency(new ItemReference("List", textChildren[0].Value) { KeyedName = keyedName }, parent, elem, masterRef);
break;
case "item":
AddDependency(new ItemReference("ItemType", textChildren[0].Value) { KeyedName = keyedName }, parent, elem, masterRef);
break;
case "sequence":
AddDependency(new ItemReference("Sequence", textChildren[0].Value) { KeyedName = keyedName }, parent, elem, masterRef);
break;
}
}
}
}
}
else if (elem != _elem && elem.LocalName == "Item" && elem.HasAttribute("type")
&& elem.Attribute("action", "") == "get"
&& (elem.HasAttribute("id") || elem.HasAttribute("where")))
{
// Item queries
AddDependency(ItemReference.FromFullItem(elem, true), elem.Parent().Parent(), elem.Parent(), masterRef);
}
else if (textChildren.Count == 1 && textChildren[0].Value.StartsWith("vault:///?fileId=", StringComparison.OrdinalIgnoreCase))
{
// Vault Id references for image properties
AddDependency(new ItemReference("File", textChildren[0].Value.Substring(17)), elem.Parent(), elem, masterRef);
}
else
{
if (elem != _elem && elem.LocalName == "Item" && elem.HasAttribute("type") && elem.HasAttribute("id"))
{
_definitions.Add(ItemReference.FromFullItem(elem, elem.Attribute("type") == "ItemType"));
}
var isItem = (elem.LocalName == "Item" && elem.HasAttribute("type"));
ItemProperty newProp;
ItemReference propRef;
//.........这里部分代码省略.........
示例2: FromScript
public static InstallItem FromScript(XmlElement elem)
{
var result = new InstallItem();
result._elem = elem;
result._itemRef = ItemReference.FromFullItem(elem, true);
if (result._itemRef.Type.IsGuid())
{
result.InstalledId = result._itemRef.Type;
}
else
{
result.InstalledId = elem.Attribute("id", "");
}
if (elem.HasAttribute("_dependency_check"))
{
result._type = InstallType.DependencyCheck;
}
else if (elem.HasAttribute("action"))
{
switch (elem.Attributes["action"].Value)
{
case "add":
case "merge":
case "create":
result._type = InstallType.Create;
break;
case "ActivateActivity":
case "AddItem":
case "AddHistory":
case "ApplyUpdate":
case "BuildProcessReport":
case "CancelWorkflow":
case "checkImportedItemType":
case "closeWorkflow":
case "copy":
case "copyAsIs":
case "copyAsNew":
case "delete":
case "edit":
case "EmailItem":
case "EvaluateActivity":
case "exportItemType":
case "get":
case "getItemAllVersions":
case "getAffectedItems":
case "getItemConfig":
case "getItemLastVersion":
case "getItemNextStates":
case "getItemRelationships":
case "GetItemRepeatConfig":
case "getItemWhereUsed":
case "GetMappedPath":
case "getPermissions":
case "getRelatedItem":
case "GetUpdateInfo":
case "instantiateWorkflow":
case "lock":
case "New Workflow Map":
case "PromoteItem":
case "purge":
case "recache":
case "replicate":
case "resetAllItemsAccess":
case "resetItemAccess":
case "resetLifecycle":
case "setDefaultLifecycle":
case "skip":
case "startWorkflow":
case "unlock":
case "update":
case "ValidateWorkflowMap":
case "version":
if ((elem.Attributes["type"].Value != "Form" && elem.Attributes["type"].Value != "View")
|| elem.Attributes["action"].Value != "delete")
result._dependencies = Enumerable.Repeat(result._itemRef, 1);
result._itemRef = new ItemReference("*Script", result._itemRef.ToString() + " " + Utils.GetChecksum(Encoding.UTF8.GetBytes(elem.OuterXml)))
{
KeyedName = RenderAttributes(elem)
};
result._type = InstallType.Script;
break;
default:
result._dependencies = Enumerable.Repeat(new ItemReference("Method", "[Method].[name] = '" + elem.Attributes["action"].Value + "'")
{
KeyedName = elem.Attributes["action"].Value
}, 1);
result._itemRef = new ItemReference("*Script", result._itemRef.ToString() + " " + Utils.GetChecksum(Encoding.UTF8.GetBytes(elem.OuterXml)))
{
KeyedName = RenderAttributes(elem)
};
result._type = InstallType.Script;
break;
}
}
if (elem.Attribute(XmlFlags.Attr_IsScript) == "1")
{
if (string.IsNullOrEmpty(result._itemRef.KeyedName))
{
//.........这里部分代码省略.........
示例3: RenderAttributes
internal static string RenderAttributes(XmlElement elem, string keyedName = null)
{
var builder = new StringBuilder();
if (elem.HasAttribute("action"))
{
var action = elem.Attribute("action");
builder.Append(char.ToUpper(action[0]))
.Append(action.Substring(1))
.Append(" of");
}
if (elem.HasAttribute("where"))
{
builder.Append(" ").Append(elem.Attribute("where"));
}
else
{
if (elem.HasAttribute("type"))
{
builder.Append(" ").Append(elem.Attribute("type")).Append(":");
}
if (!string.IsNullOrEmpty(keyedName))
{
builder.Append(" ").Append(keyedName);
}
else if (elem.HasAttribute("id"))
{
builder.Append(" ").Append(elem.Attribute("id"));
}
}
if (elem.HasAttribute(XmlFlags.Attr_ScriptType))
{
builder.Append(" (").Append(elem.Attribute(XmlFlags.Attr_ScriptType)).Append(")");
}
return builder.ToString();
}