本文整理汇总了C#中System.Runtime.Serialization.XmlReaderDelegator.MoveToElement方法的典型用法代码示例。如果您正苦于以下问题:C# XmlReaderDelegator.MoveToElement方法的具体用法?C# XmlReaderDelegator.MoveToElement怎么用?C# XmlReaderDelegator.MoveToElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Runtime.Serialization.XmlReaderDelegator
的用法示例。
在下文中一共展示了XmlReaderDelegator.MoveToElement方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryReadNullAtTopLevel
protected static bool TryReadNullAtTopLevel(XmlReaderDelegator reader)
{
while (reader.MoveToAttribute("type") && (reader.Value == "null"))
{
reader.Skip();
reader.MoveToElement();
return true;
}
reader.MoveToElement();
return false;
}
示例2: Read
internal void Read(XmlReaderDelegator reader)
{
this.Reset();
while (reader.MoveToNextAttribute())
{
switch (reader.IndexOfLocalName(serializationLocalNames, DictionaryGlobals.SerializationNamespace))
{
case 0:
{
this.ReadId(reader);
continue;
}
case 1:
{
this.ReadArraySize(reader);
continue;
}
case 2:
{
this.ReadRef(reader);
continue;
}
case 3:
{
this.ClrType = reader.Value;
continue;
}
case 4:
{
this.ClrAssembly = reader.Value;
continue;
}
case 5:
{
this.ReadFactoryType(reader);
continue;
}
}
switch (reader.IndexOfLocalName(schemaInstanceLocalNames, DictionaryGlobals.SchemaInstanceNamespace))
{
case 0:
{
this.ReadXsiNil(reader);
continue;
}
case 1:
{
this.ReadXsiType(reader);
continue;
}
}
if (!reader.IsNamespaceUri(DictionaryGlobals.XmlnsNamespace))
{
this.UnrecognizedAttributesFound = true;
}
}
reader.MoveToElement();
}
示例3: TryReadNullAtTopLevel
protected static bool TryReadNullAtTopLevel(XmlReaderDelegator reader)
{
while (reader.MoveToAttribute(JsonGlobals.typeString) && (reader.Value == JsonGlobals.nullString))
{
reader.Skip();
reader.MoveToElement();
return true;
}
reader.MoveToElement();
return false;
}
示例4: Read
internal void Read(XmlReaderDelegator reader)
{
Reset();
while (reader.MoveToNextAttribute())
{
switch (reader.IndexOfLocalName(s_serializationLocalNames, DictionaryGlobals.SerializationNamespace))
{
case 0:
ReadId(reader);
break;
case 1:
ReadArraySize(reader);
break;
case 2:
ReadRef(reader);
break;
case 3:
ClrType = reader.Value;
break;
case 4:
ClrAssembly = reader.Value;
break;
case 5:
ReadFactoryType(reader);
break;
default:
switch (reader.IndexOfLocalName(s_schemaInstanceLocalNames, DictionaryGlobals.SchemaInstanceNamespace))
{
case 0:
ReadXsiNil(reader);
break;
case 1:
ReadXsiType(reader);
break;
default:
if (!reader.IsNamespaceUri(DictionaryGlobals.XmlnsNamespace))
UnrecognizedAttributesFound = true;
break;
}
break;
}
}
reader.MoveToElement();
}
示例5: IsRootElement
internal bool IsRootElement(XmlReaderDelegator reader, DataContract contract, XmlDictionaryString name, XmlDictionaryString ns)
{
reader.MoveToElement();
if (name != null) // root name set explicitly
{
return reader.IsStartElement(name, ns);
}
else
{
if (!contract.HasRoot)
return reader.IsStartElement();
if (reader.IsStartElement(contract.TopLevelElementName, contract.TopLevelElementNamespace))
return true;
ClassDataContract classContract = contract as ClassDataContract;
if (classContract != null)
classContract = classContract.BaseContract;
while (classContract != null)
{
if (reader.IsStartElement(classContract.TopLevelElementName, classContract.TopLevelElementNamespace))
return true;
classContract = classContract.BaseContract;
}
if (classContract == null)
{
DataContract objectContract = PrimitiveDataContract.GetPrimitiveDataContract(Globals.TypeOfObject);
if (reader.IsStartElement(objectContract.TopLevelElementName, objectContract.TopLevelElementNamespace))
return true;
}
return false;
}
}
示例6: IsStartElement
internal bool IsStartElement(XmlReaderDelegator reader)
{
return (reader.MoveToElement() || reader.IsStartElement());
}
示例7: ReadAttributes
internal override void ReadAttributes(XmlReaderDelegator xmlReader)
{
if (attributes == null)
attributes = new Attributes();
attributes.Reset();
if (xmlReader.MoveToAttribute(JsonGlobals.typeString) && xmlReader.Value == JsonGlobals.nullString)
{
attributes.XsiNil = true;
}
else if (xmlReader.MoveToAttribute(JsonGlobals.serverTypeString))
{
XmlQualifiedName qualifiedTypeName = JsonReaderDelegator.ParseQualifiedName(xmlReader.Value);
attributes.XsiTypeName = qualifiedTypeName.Name;
string serverTypeNamespace = qualifiedTypeName.Namespace;
if (!string.IsNullOrEmpty(serverTypeNamespace))
{
switch (serverTypeNamespace[0])
{
case '#':
serverTypeNamespace = string.Concat(Globals.DataContractXsdBaseNamespace, serverTypeNamespace.Substring(1));
break;
case '\\':
if (serverTypeNamespace.Length >= 2)
{
switch (serverTypeNamespace[1])
{
case '#':
case '\\':
serverTypeNamespace = serverTypeNamespace.Substring(1);
break;
default:
break;
}
}
break;
default:
break;
}
}
attributes.XsiTypeNamespace = serverTypeNamespace;
}
xmlReader.MoveToElement();
}
示例8: IsStartElement
internal bool IsStartElement(XmlReaderDelegator reader)
{
if (!reader.MoveToElement())
{
return reader.IsStartElement();
}
return true;
}
示例9: IsRootElement
internal bool IsRootElement(XmlReaderDelegator reader, DataContract contract, XmlDictionaryString name, XmlDictionaryString ns)
{
reader.MoveToElement();
if (name != null)
{
return reader.IsStartElement(name, ns);
}
if (!contract.HasRoot)
{
return reader.IsStartElement();
}
if (reader.IsStartElement(contract.TopLevelElementName, contract.TopLevelElementNamespace))
{
return true;
}
ClassDataContract baseContract = contract as ClassDataContract;
if (baseContract != null)
{
baseContract = baseContract.BaseContract;
}
while (baseContract != null)
{
if (reader.IsStartElement(baseContract.TopLevelElementName, baseContract.TopLevelElementNamespace))
{
return true;
}
baseContract = baseContract.BaseContract;
}
if (baseContract == null)
{
DataContract primitiveDataContract = PrimitiveDataContract.GetPrimitiveDataContract(Globals.TypeOfObject);
if (reader.IsStartElement(primitiveDataContract.TopLevelElementName, primitiveDataContract.TopLevelElementNamespace))
{
return true;
}
}
return false;
}