本文整理汇总了C#中XmlReader.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# XmlReader.GetType方法的具体用法?C# XmlReader.GetType怎么用?C# XmlReader.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlReader
的用法示例。
在下文中一共展示了XmlReader.GetType方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Load
internal void Load(XmlDocument doc, XmlReader reader, bool preserveWhitespace)
{
_doc = doc;
// perf: unwrap XmlTextReader if no one derived from it
if (reader.GetType() == typeof(System.Xml.XmlTextReader))
{
_reader = ((XmlTextReader)reader).Impl;
}
else
{
_reader = reader;
}
_preserveWhitespace = preserveWhitespace;
if (doc == null)
throw new ArgumentException(SR.Xdom_Load_NoDocument);
if (reader == null)
throw new ArgumentException(SR.Xdom_Load_NoReader);
doc.SetBaseURI(reader.BaseURI);
if (reader.Settings != null
&& reader.Settings.ValidationType == ValidationType.Schema)
{
doc.Schemas = reader.Settings.Schemas;
}
if (_reader.ReadState != ReadState.Interactive)
{
if (!_reader.Read())
return;
}
LoadDocSequence(doc);
}
示例2: GetXmlReaderBufferPosition
private static int GetXmlReaderBufferPosition(XmlReader xr)
{
if (_xmlReaderBufferPositionProperty == null)
{
_xmlReaderBufferPositionProperty = xr.GetType()
.GetProperty("DtdParserProxy_CurrentPosition",
BindingFlags.Instance | BindingFlags.NonPublic);
}
return (int)_xmlReaderBufferPositionProperty.GetValue(xr);
}
示例3: GetXmlReaderBufferLength
private static long GetXmlReaderBufferLength(XmlReader xr)
{
if (_xmlReaderBufferSizeProperty == null)
{
_xmlReaderBufferSizeProperty = xr.GetType()
.GetProperty("DtdParserProxy_ParsingBufferLength",
BindingFlags.Instance | BindingFlags.NonPublic);
}
return (int)_xmlReaderBufferSizeProperty.GetValue(xr);
}
示例4: Run
public static void Run(XmlReader reader)
{
using (StreamWriter output = File.CreateText(Path.Combine(Program.TempPath, reader.GetType().Name + "-output.csv"))) {
var properties = typeof(XmlReader).GetProperties(BindingFlags.Public | BindingFlags.Instance)
.Where(p => p.GetIndexParameters().Length == 0 && !ignoredProperties.Contains(p.Name))
.ToArray();
output.WriteLine(CSV(properties.Select(p => p.Name)));
do {
output.WriteLine(CSV(properties.Select(p => ToString(p.GetValue(reader, null)))));
} while (reader.Read());
output.WriteLine(CSV(properties.Select(p => ToString(p.GetValue(reader, null)))));
}
}
示例5: Run
public static void Run(XmlReader reader, bool includeAttributes, bool includeAttributeValues = true)
{
using (StreamWriter output = File.CreateText(Path.Combine(Program.TempPath, reader.GetType().Name + "-output.csv"))) {
var properties = typeof(XmlReader).GetProperties(BindingFlags.Public | BindingFlags.Instance)
.Where(p => p.GetIndexParameters().Length == 0 && !ignoredProperties.Contains(p.Name))
.ToArray();
output.WriteLine(CSV(properties.Select(p => p.Name)));
do {
output.WriteLine(CSV(properties.Select(p => ToString(p.GetValue(reader, null)))));
if (includeAttributes && reader.HasAttributes) {
for (int i = 0; i < reader.AttributeCount; i++) {
reader.MoveToAttribute(i);
output.WriteLine(CSV(properties.Select(p => ToString(p.GetValue(reader, null)))));
if (includeAttributeValues) {
reader.ReadAttributeValue();
output.WriteLine(CSV(properties.Select(p => ToString(p.GetValue(reader, null)))));
}
}
}
} while (reader.Read());
output.WriteLine(CSV(properties.Select(p => ToString(p.GetValue(reader, null)))));
}
}
示例6: AssertNodeValues
private void AssertNodeValues (
string label,
XmlReader xmlReader,
XmlNodeType nodeType,
int depth,
bool isEmptyElement,
string name,
string prefix,
string localName,
string namespaceURI,
string value,
bool hasValue,
int attributeCount,
bool hasAttributes)
{
label = String.Concat (label, "(", xmlReader.GetType ().Name, ")");
Assert.AreEqual (nodeType, xmlReader.NodeType, label + ": NodeType");
Assert.AreEqual (isEmptyElement, xmlReader.IsEmptyElement, label + ": IsEmptyElement");
Assert.AreEqual (name, xmlReader.Name, label + ": name");
Assert.AreEqual (prefix, xmlReader.Prefix, label + ": prefix");
Assert.AreEqual (localName, xmlReader.LocalName, label + ": localName");
Assert.AreEqual (namespaceURI, xmlReader.NamespaceURI, label + ": namespaceURI");
Assert.AreEqual (depth, xmlReader.Depth, label + ": Depth");
Assert.AreEqual (hasValue, xmlReader.HasValue, label + ": hasValue");
Assert.AreEqual (value, xmlReader.Value, label + ": Value");
Assert.AreEqual (hasAttributes, xmlReader.HasAttributes, label + ": hasAttributes");
Assert.AreEqual (attributeCount, xmlReader.AttributeCount, label + ": attributeCount");
}
示例7: AssertNodeValues
private void AssertNodeValues (
string label,
XmlReader xmlReader,
XmlNodeType nodeType,
int depth,
bool isEmptyElement,
string name,
string prefix,
string localName,
string namespaceURI,
string value,
bool hasValue,
int attributeCount,
bool hasAttributes)
{
label = String.Concat (label, "(", xmlReader.GetType ().Name, ")");
AssertEquals (label + ": NodeType", nodeType, xmlReader.NodeType);
AssertEquals (label + ": IsEmptyElement", isEmptyElement, xmlReader.IsEmptyElement);
AssertEquals (label + ": name", name, xmlReader.Name);
AssertEquals (label + ": prefix", prefix, xmlReader.Prefix);
AssertEquals (label + ": localName", localName, xmlReader.LocalName);
AssertEquals (label + ": namespaceURI", namespaceURI, xmlReader.NamespaceURI);
AssertEquals (label + ": Depth", depth, xmlReader.Depth);
AssertEquals (label + ": hasValue", hasValue, xmlReader.HasValue);
AssertEquals (label + ": Value", value, xmlReader.Value);
AssertEquals (label + ": hasAttributes", hasAttributes, xmlReader.HasAttributes);
AssertEquals (label + ": attributeCount", attributeCount, xmlReader.AttributeCount);
}