本文整理匯總了C#中System.Xml.XmlNode.GetOptionalStringAttribute方法的典型用法代碼示例。如果您正苦於以下問題:C# XmlNode.GetOptionalStringAttribute方法的具體用法?C# XmlNode.GetOptionalStringAttribute怎麽用?C# XmlNode.GetOptionalStringAttribute使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Xml.XmlNode
的用法示例。
在下文中一共展示了XmlNode.GetOptionalStringAttribute方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: GetPossibleLabelSuffix
/// <summary>
/// Look at the part ref label for a possible duplicated node suffix to put on the new label.
/// Will be of the format "(x)" where x is a digit, except there could be more than one
/// separated by spaces.
/// </summary>
/// <param name="partRefNode"></param>
/// <returns></returns>
public static string GetPossibleLabelSuffix(XmlNode partRefNode)
{
var label = partRefNode.GetOptionalStringAttribute(LabelAttr, string.Empty);
if (string.IsNullOrEmpty(label))
return string.Empty;
var regexp = new Regex(LabelRegExString);
var match = regexp.Match(label);
// if there's a match, we want everything after the index
return match.Success ? label.Substring(match.Index) : string.Empty;
}
示例2: GetPossibleParamSuffix
/// <summary>
/// Look at the part ref param attribute for a possible duplicated node suffix to copy to
/// the new param attribute.
/// Will be of the format "%0x" where x is a digit.
/// </summary>
/// <param name="partRefNode"></param>
/// <returns></returns>
public static string GetPossibleParamSuffix(XmlNode partRefNode)
{
var param = partRefNode.GetOptionalStringAttribute(ParamAttr, string.Empty);
if (string.IsNullOrEmpty(param))
return string.Empty;
var index = param.IndexOf(kcMarkNodeCopy);
if (index > 0)
return param.Substring(index);
return string.Empty;
}
示例3: GetId
public static string GetId(XmlNode e)
{
return e.GetOptionalStringAttribute("id", string.Empty);
}
示例4: CheckForAndReattachLayoutParamSuffix
private void CheckForAndReattachLayoutParamSuffix(XmlNode workingNode)
{
if (string.IsNullOrEmpty(m_layoutParamAttrSuffix) ||
string.IsNullOrEmpty(workingNode.GetOptionalStringAttribute(ParamAttr, string.Empty)))
return; // nothing to do
var xaParam = workingNode.Attributes[ParamAttr];
xaParam.Value = xaParam.Value + m_layoutParamAttrSuffix;
}
示例5: FixUpPartRefLabelAttrForDupNode
private void FixUpPartRefLabelAttrForDupNode(XmlNode partRefNode, string dupKey)
{
if (string.IsNullOrEmpty(partRefNode.GetOptionalStringAttribute(LabelAttr, string.Empty)))
return; // nothing to do
var xaLabel = partRefNode.Attributes[LabelAttr];
string suffix;
if (m_labelAttrSuffix.TryGetValue(dupKey, out suffix))
{
xaLabel.Value = xaLabel.Value + suffix;
}
}
示例6: FromXml
//
// public void WriteXml(XmlWriter writer)
// {
// writer.WriteStartElement("MergeSituation");
// writer.WriteAttributeString("PathToFileInRepository",this.PathToFileInRepository);
// writer.WriteEndElement();
// }
public static MergeSituation FromXml(XmlNode node)
{
var modeLabel = node.GetOptionalStringAttribute("conflictHandlingMode",
string.Empty);
MergeOrder.ConflictHandlingModeChoices mode;
try
{
mode =
(MergeOrder.ConflictHandlingModeChoices)
Enum.Parse(typeof (MergeOrder.ConflictHandlingModeChoices),
modeLabel);
}
catch (Exception)
{
mode = MergeOrder.ConflictHandlingModeChoices.Unknown;
}
//Note, we can't use the normal construtor, because it switches who is alpha/beta
//depending on the conflict handling mode. We don't want to switch them again
//when we're re-constituting the situation
var situation = new MergeSituation(node.GetStringAttribute("path"), mode);
situation.AlphaUserId = node.GetStringAttribute("alphaUserId");
situation.AlphaUserRevision = node.GetStringAttribute("alphaUserRevision");
situation.BetaUserId = node.GetStringAttribute("betaUserId");
situation.BetaUserRevision = node.GetStringAttribute("betaUserRevision");
return situation;
}
示例7: CreateFromXml
public static ContextDescriptor CreateFromXml(XmlNode xmlRepresentation)
{
var path = xmlRepresentation.GetOptionalStringAttribute("contextPath", "missing");
var label = xmlRepresentation.GetOptionalStringAttribute("contextDataLabel", "missing");
return new ContextDescriptor(label, path);
}