本文整理汇总了C#中System.Xml.XmlNodeReader.MoveToFirstAttribute方法的典型用法代码示例。如果您正苦于以下问题:C# XmlNodeReader.MoveToFirstAttribute方法的具体用法?C# XmlNodeReader.MoveToFirstAttribute怎么用?C# XmlNodeReader.MoveToFirstAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlNodeReader
的用法示例。
在下文中一共展示了XmlNodeReader.MoveToFirstAttribute方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MoveToNextAttributeFromValue
[Test] // bug #550379
public void MoveToNextAttributeFromValue ()
{
document.LoadXml ("<ul test='xxx'></ul>");
XmlNodeReader nr = new XmlNodeReader (document);
nr.Read ();
//nr.Read (); // why twice?
Assert.IsTrue (nr.MoveToFirstAttribute (), "#1");
Assert.IsTrue (nr.ReadAttributeValue (), "#2");
Assert.IsFalse (nr.MoveToNextAttribute (), "#3");
}
示例2: process_element
private abstract_Element process_element( XmlNodeReader nodeReader, int current_page_count )
{
string type = String.Empty;
string subtype = String.Empty;
// Step through all the attributes until the type is found
nodeReader.MoveToFirstAttribute();
do
{
// Get the type attribute
if ( nodeReader.Name.ToUpper().Trim() == "TYPE" )
{
type = nodeReader.Value;
}
// Get the subtype attribute
if ( nodeReader.Name.ToUpper().Trim() == "SUBTYPE" )
{
subtype = nodeReader.Value;
}
} while (nodeReader.MoveToNextAttribute() );
// Make sure a type was specified
if ( type == String.Empty )
return null;
// Build the element
abstract_Element newElement = Element_Factory.getElement( type, subtype );
// If thie element was null, return null
if (newElement == null)
return null;
// Set the page number for post back reasons
newElement.Template_Page = current_page_count;
// Some special logic here
if ((newElement.Type == Element_Type.Type) && ( newElement.Display_SubType == "form" ))
{
(( Type_Format_Form_Element )newElement).Set_Postback("javascript:__doPostBack('newpagebutton" + current_page_count + "','')");
}
if ((newElement.Type == Element_Type.Title) && (newElement.Display_SubType == "form"))
{
complexMainTitleExists = true;
}
if ((newElement.Type == Element_Type.Note) && (newElement.Display_SubType == "complex"))
{
((Note_Complex_Element)newElement).Include_Statement_Responsibility = !complexMainTitleExists;
}
// Now, step through all the attributes again
nodeReader.MoveToFirstAttribute();
do
{
switch( nodeReader.Name.ToUpper().Trim() )
{
case "REPEATABLE":
bool repeatable;
if ( Boolean.TryParse( nodeReader.Value, out repeatable ))
newElement.Repeatable = repeatable;
break;
case "MANDATORY":
bool mandatory;
if (Boolean.TryParse(nodeReader.Value, out mandatory))
newElement.Mandatory = mandatory;
break;
case "READONLY":
bool isReadOnly;
if (Boolean.TryParse(nodeReader.Value, out isReadOnly))
newElement.Read_Only = isReadOnly;
break;
case "ACRONYM":
newElement.Acronym = nodeReader.Value;
break;
}
} while (nodeReader.MoveToNextAttribute() );
// Move back to the element, if there were attributes (should be)
nodeReader.MoveToElement();
// Is there element_data?
if ( !nodeReader.IsEmptyElement )
{
nodeReader.Read();
if (( nodeReader.NodeType == XmlNodeType.Element ) && ( nodeReader.Name.ToLower() == "element_data" ))
{
// Create the new tree
StringWriter sw = new StringWriter();
XmlTextWriter tw = new XmlTextWriter( sw );
tw.WriteNode( nodeReader, true );
tw.Close();
// Let the element process this inner data
newElement.Read_XML( new XmlTextReader( new StringReader( sw.ToString() )));
}
}
//.........这里部分代码省略.........