本文整理汇总了C#中System.Xml.XmlWriter.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# XmlWriter.ToString方法的具体用法?C# XmlWriter.ToString怎么用?C# XmlWriter.ToString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.XmlWriter
的用法示例。
在下文中一共展示了XmlWriter.ToString方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Graph
public void Graph(XmlWriter s, object o, DatatypeFormatterGraphResult result)
{
II instance = o as II;
// Base graph
base.Graph(s, o as ANY, result);
// Handle II graphing
if (instance.IsNull)
return;
if(instance.Root != null) // root
s.WriteAttributeString("root", instance.Root);
if (instance.Extension != null) // extension
s.WriteAttributeString("extension", instance.Extension);
if (instance.AssigningAuthorityName != null) // assigning authority
s.WriteAttributeString("assigningAuthorityName", instance.AssigningAuthorityName);
if(instance.Displayable != null)
s.WriteAttributeString("displayable", instance.Displayable.ToString().ToLower());
// JF - Use is not permitted
if (instance.Scope != null && instance.Scope.HasValue)
{
if (result.CompatibilityMode == DatatypeFormatterCompatibilityMode.Canadian)
switch (instance.Scope.Value)
{
case IdentifierScope.VersionIdentifier:
s.WriteAttributeString("use", "VER");
break;
case IdentifierScope.BusinessIdentifier:
s.WriteAttributeString("use", "BUS");
break;
default:
result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Scope", "II", s.ToString()));
break;
}
else
result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Scope", "II", s.ToString()));
}
// Non supported features
if (instance.IdentifierName != null)
result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "IdentifierName", "II", s.ToString()));
if(instance.Reliability != null)
result.AddResultDetail(new UnsupportedDatatypeR1PropertyResultDetail(ResultDetailType.Warning, "Reliability", "II", s.ToString()));
}
示例2: Graph
/// <summary>
/// Graphs object <paramref name="o"/> onto <paramref name="s"/>
/// </summary>
/// <param name="s">The stream to graph to</param>
/// <param name="o">The object to graph</param>
/// <returns>A formatter graphing result</returns>
public IFormatterGraphResult Graph(XmlWriter s, IGraphable o)
{
if (o == null)
return new DatatypeFormatterGraphResult(this.CompatibilityMode, ResultCode.Accepted, null, this.ValidateConformance);
try
{
IDatatypeFormatter formatter = GetFormatter(o.GetType());
if (formatter == null)
return new DatatypeFormatterGraphResult(this.CompatibilityMode, ResultCode.NotAvailable, new IResultDetail[] {
new NotImplementedResultDetail(ResultDetailType.Error, String.Format("Could not find formatter for '{0}'", o.GetType().FullName), null)
}, this.ValidateConformance);
// Set the host
formatter.Host = (IXmlStructureFormatter)(this.Host ?? this);
var result = new DatatypeFormatterGraphResult(this.CompatibilityMode, ResultCode.Accepted, null, this.ValidateConformance);
formatter.Graph(s, o, result);
return result;
}
catch (Exception e)
{
return new DatatypeFormatterGraphResult(this.CompatibilityMode, ResultCode.Error, new IResultDetail[] {
new ResultDetail(ResultDetailType.Error, e.Message, s.ToString(), e)
}, this.ValidateConformance);
}
}
示例3: build_xml
public string build_xml(XmlWriter xmlWriter)
{
return xmlWriter.ToString();
}
示例4: Graph
/// <summary>
/// Graphs <paramref name="o"/> onto the <see cref="T:System.Xml.XmlWriter"/> <paramref name="s"/>
/// </summary>
/// <param name="s">The <see cref="T:System.Xml.XmlWriter"/> that should be used to graph the object</param>
/// <param name="o">The <see cref="T:MARC.Everest.Interfaces.IGraphable"/> that should be graphed</param>
/// <returns>A <see cref="T:MARC.Everest.Formatters.XML.ITS1.Its1FormatterGraphResult"/> containing the results of the graph</returns>
/// <remarks>
/// <para>
/// This particular overload of the Graph method can be used to graph objects into a <see cref="T:System.Xml.XmlWriter"/> and can provide
/// an opportunity to use Everest as an assistant (or XmlSerializerSurrogate) for more complex systems like WCF.
/// </para>
/// <example>
/// <code lang="cs" title="Using Everest as a Serializer Assistant">
/// <![CDATA[
/// StringWriter sw = new StringWriter();
/// XmlWriter writer = XmlWriter.Create(sw);
/// writer.WriteStartElement("hello", "urn:my-org");
///
/// Formatter f = new Formatter();
/// f.GraphAides.Add(typeof(MARC.Everest.Formatters.XML.DataTypes.R1.Formatter));
/// f.ValidateConformance = false;
/// f.Graph(writer, new MCCI_IN000002CA());
///
/// writer.WriteEndElement();
/// writer.Close();
/// Console.WriteLine(sw.ToString());
///
/// ]]>
/// </code>
/// outputs
/// <code lang="xml" title="Output of example">
/// <![CDATA[
/// <hello xmlns="urn:my-org">
/// <MCCI_IN000002CA xmlns="urn:hl7-org:v3"/>
/// </hello>
/// ]]>
/// </code>
/// </example>
/// <para>
/// When using this method, it is recommended that you pass a <see cref="T:MARC.Everest.Xml.XmlStateWriter"/> as it
/// will allow the formatter to give additional location information when reporting issues.
/// </para>
/// </remarks>
public IFormatterGraphResult Graph(XmlWriter s, IGraphable o)
{
ThrowIfDisposed();
var resultContext = new XmlIts1FormatterGraphResult(ResultCode.Accepted, null);
IGraphable context = null;
// Clear out result cache
if (s.WriteState == WriteState.Start || String.IsNullOrEmpty(s.ToString()) || o is IInteraction)
context = o;
if (!(s is XmlStateWriter))
s = new XmlStateWriter(s);
if (o == null)
resultContext.Code = ResultCode.AcceptedNonConformant;
else
{
GraphObject(s, o, o.GetType(), context, resultContext);
resultContext.Code = CalculateResultCode(resultContext.Details);
}
return resultContext;
}
示例5: ValidateHelper
public void ValidateHelper(XmlWriter s, IGraphable o, ITypeFormatter formatter, XmlIts1FormatterGraphResult resultContext)
{
IResultDetail[] details = null;
if (ValidateConformance && (!formatter.Validate(o, s.ToString(), out details)))
resultContext.AddResultDetail(details.Length > 0 ? details : new IResultDetail[] { new DatatypeValidationResultDetail(ValidateConformance ? ResultDetailType.Error : ResultDetailType.Warning, o.GetType().ToString(), s.ToString()) });
}
示例6: GraphObject
protected virtual void GraphObject(XmlWriter s, IGraphable o, Type useType, IGraphable context, XmlIts1FormatterGraphResult resultContext)
{
// Find the HL7 alias for the type and build the cache for the type
string typeName = GetStructureName(useType);
// Find a helper
IXmlStructureFormatter ixsf = (IXmlStructureFormatter)this.GraphAides.Find(t => t.HandleStructure.Contains(typeName));
// Does the helper graph aide have a handler?
if (ixsf != null)
{
ixsf.Host = this;
var rv = ixsf.Graph(s, o);
resultContext.AddResultDetail(rv.Details);
return;
}
#if WINDOWS_PHONE
ITypeFormatter formatter = m_codeGeneratorFormatter.GetFormatter(useType);
if (formatter == null)
formatter = new ReflectFormatter();
#else
ITypeFormatter formatter = m_codeGeneratorFormatter.GetFormatter(useType);
// Is there a formatter and if there is not a formatter
// can we create one?
if (formatter == null && (Settings & SettingsType.UseGeneratorFormat) == SettingsType.UseGeneratorFormat)
s_threadPool.QueueUserWorkItem((WaitCallback)delegate(object state)
{
BuildCache(new Type[] { (Type)state });
}, useType);
// If there is no connector can we use reflection?
if (formatter == null && (Settings & SettingsType.UseReflectionFormat) == SettingsType.UseReflectionFormat)
formatter = new ReflectFormatter();
else if (formatter == null && (Settings & SettingsType.UseGeneratorFormat) == SettingsType.UseGeneratorFormat)
{
s_threadPool.WaitOne();
formatter = m_codeGeneratorFormatter.GetFormatter(useType);
}
#endif
if(formatter == null)
throw new InvalidOperationException(string.Format("Couldn't format '{0}' at {1}, verify formatter settings!", useType.FullName, s.ToString()));
// Validate the instance
formatter.Host = this;
// Graph using helper
formatter.Graph(s, o, context, resultContext);
}