本文整理汇总了C#中System.Configuration.XmlUtilWriter.AppendSpace方法的典型用法代码示例。如果您正苦于以下问题:C# XmlUtilWriter.AppendSpace方法的具体用法?C# XmlUtilWriter.AppendSpace怎么用?C# XmlUtilWriter.AppendSpace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Configuration.XmlUtilWriter
的用法示例。
在下文中一共展示了XmlUtilWriter.AppendSpace方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CopyXmlNode
//.........这里部分代码省略.........
//
// The reader only gives us the position of 'rootElementName', so we must track what was
// written before "<!DOCTYPE" in order to correctly determine the position of the
// <!DOCTYPE tag
//
Debug.Assert(utilWriter.TrackPosition, "utilWriter.TrackPosition");
int c = utilWriter.Write("<!DOCTYPE");
// Write the space between <!DOCTYPE and the rootElementName
utilWriter.AppendRequiredWhiteSpace(_lastLineNumber, _lastLinePosition + c, _reader.LineNumber, _reader.LinePosition);
// Write the rootElementName
utilWriter.Write(_reader.Name);
// Get the dtd declarations, if any
string dtdValue = null;
if (_reader.HasValue) {
dtdValue = _reader.Value;
}
// get line position after the !DOCTYPE declaration:
// <!DOCTYPE rootElement SYSTEM rootElementDtdUri >
// ^
// linePosition
lineNumber = _reader.LineNumber;
linePosition = _reader.LinePosition + _reader.Name.Length;
// Note that there is no way to get the spacing after PUBLIC or SYSTEM attributes and their values
if (_reader.MoveToFirstAttribute()) {
// Write the space before SYSTEM or PUBLIC
utilWriter.AppendRequiredWhiteSpace(lineNumber, linePosition, _reader.LineNumber, _reader.LinePosition);
// Write SYSTEM or PUBLIC and the 1st value of the attribute
string attrName = _reader.Name;
utilWriter.Write(attrName);
utilWriter.AppendSpace();
utilWriter.AppendAttributeValue(_reader);
_reader.MoveToAttribute(0);
// If PUBLIC, write the second value of the attribute
if (attrName == "PUBLIC") {
_reader.MoveToAttribute(1);
utilWriter.AppendSpace();
utilWriter.AppendAttributeValue(_reader);
_reader.MoveToAttribute(1);
}
}
// If there is a dtd, write it
if (dtdValue != null && dtdValue.Length > 0) {
utilWriter.Write(" [");
utilWriter.Write(dtdValue);
utilWriter.Write(']');
}
utilWriter.Write('>');
}
// Advance the _reader so we can get the position of the next node.
bool moreToRead = _reader.Read();
nodeType = _reader.NodeType;
// Close the node we are copying.
if (close != null) {
//
// Find the position of the close string, for example:
//
// <element > <subElement />
// ^
// closeLinePosition
//
int startOffset = GetPositionOffset(nodeType);
int closeLineNumber = _reader.LineNumber;
int closeLinePosition = _reader.LinePosition - startOffset - close.Length;
// Add whitespace up to the position of the close string
utilWriter.AppendWhiteSpace(lineNumber, linePosition, closeLineNumber, closeLinePosition);
// Write the close string
utilWriter.Write(close);
}
//
// Track the position of the reader based on the position of the reader
// before we copied this node and what we have written in copying the node.
// This allows us to determine the position of the <!DOCTYPE tag.
//
if (utilWriter.TrackPosition) {
_lastLineNumber = (readerLineNumber - writerLineNumber) + utilWriter.LineNumber;
if (writerLineNumber == utilWriter.LineNumber) {
_lastLinePosition = (readerLinePosition - writerLinePosition) + utilWriter.LinePosition;
}
else {
_lastLinePosition = utilWriter.LinePosition;
}
}
return moreToRead;
}
示例2: FormatXmlElement
//.........这里部分代码省略.........
writer2.AppendIndent(linePosition, indent, reader.Depth, newLine);
if (newLine)
{
writer2.Flush();
num2 = ((StringWriter) writer2.Writer).GetStringBuilder().Length;
}
}
Label_00CA:
flag2 = false;
switch (nodeType)
{
case XmlNodeType.Element:
writer2.Write('<');
writer2.Write(reader.Name);
num += reader.Name.Length + 2;
attributeCount = reader.AttributeCount;
num4 = 0;
goto Label_0274;
case XmlNodeType.Text:
writer2.AppendEscapeTextString(reader.Value);
flag2 = true;
goto Label_02D6;
case XmlNodeType.CDATA:
writer2.AppendCData(reader.Value);
goto Label_02D6;
case XmlNodeType.EntityReference:
writer2.AppendEntityRef(reader.Name);
goto Label_02D6;
case XmlNodeType.ProcessingInstruction:
writer2.AppendProcessingInstruction(reader.Name, reader.Value);
goto Label_02D6;
case XmlNodeType.Comment:
writer2.AppendComment(reader.Value);
goto Label_02D6;
case XmlNodeType.SignificantWhitespace:
writer2.Write(reader.Value);
goto Label_02D6;
case XmlNodeType.EndElement:
writer2.Write("</");
writer2.Write(reader.Name);
writer2.Write('>');
goto Label_02D6;
default:
goto Label_02D6;
}
Label_01BE:
if (num > 60)
{
writer2.AppendIndent(linePosition, indent, reader.Depth - 1, true);
num = indent;
flag3 = false;
writer2.Flush();
num2 = ((StringWriter) writer2.Writer).GetStringBuilder().Length;
}
else
{
flag3 = true;
}
reader.MoveToNextAttribute();
writer2.Flush();
int length = ((StringWriter) writer2.Writer).GetStringBuilder().Length;
if (flag3)
{
writer2.AppendSpace();
}
writer2.Write(reader.Name);
writer2.Write('=');
writer2.AppendAttributeValue(reader);
writer2.Flush();
num += ((StringWriter) writer2.Writer).GetStringBuilder().Length - length;
num4++;
Label_0274:
if (num4 < attributeCount)
{
goto Label_01BE;
}
reader.MoveToElement();
if (reader.IsEmptyElement)
{
writer2.Write(" />");
}
else
{
writer2.Write('>');
}
Label_02D6:
newLine = true;
skipFirstIndent = false;
}
writer2.Flush();
return ((StringWriter) writer2.Writer).ToString();
}
示例3: FormatXmlElement
//.........这里部分代码省略.........
utilWriter.Write(reader.Value);
break;
case XmlNodeType.CDATA:
utilWriter.AppendCData(reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
utilWriter.AppendProcessingInstruction(reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
utilWriter.AppendComment(reader.Value);
break;
case XmlNodeType.Text:
utilWriter.AppendEscapeTextString(reader.Value);
lastWasText = true;
break;
case XmlNodeType.Element:
{
// Write "<elem"
utilWriter.Write('<');
utilWriter.Write(reader.Name);
lineWidth += reader.Name.Length + 2;
int c = reader.AttributeCount;
for (int i = 0; i < c; i++) {
// Add new line if we've exceeded the line width
bool writeSpace;
if (lineWidth > MAX_LINE_WIDTH) {
utilWriter.AppendIndent(linePosition, indent, reader.Depth - 1, true);
lineWidth = indent;
writeSpace = false;
utilWriter.Flush();
sbLengthLastNewLine = ((StringWriter)utilWriter.Writer).GetStringBuilder().Length;
}
else {
writeSpace = true;
}
// Write the attribute
reader.MoveToNextAttribute();
utilWriter.Flush();
int startLength = ((StringWriter)utilWriter.Writer).GetStringBuilder().Length;
if (writeSpace) {
utilWriter.AppendSpace();
}
utilWriter.Write(reader.Name);
utilWriter.Write('=');
utilWriter.AppendAttributeValue(reader);
utilWriter.Flush();
lineWidth += ((StringWriter)utilWriter.Writer).GetStringBuilder().Length - startLength;
}
}
// position reader back on element
reader.MoveToElement();
// write closing tag
if (reader.IsEmptyElement) {
utilWriter.Write(" />");
}
else {
utilWriter.Write('>');
}
break;
case XmlNodeType.EndElement:
utilWriter.Write("</");
utilWriter.Write(reader.Name);
utilWriter.Write('>');
break;
case XmlNodeType.EntityReference:
utilWriter.AppendEntityRef(reader.Name);
break;
// Ignore <?xml and <!DOCTYPE nodes
case XmlNodeType.XmlDeclaration:
case XmlNodeType.DocumentType:
default:
break;
}
// put each new element on a new line
newLine = true;
// do not skip any more indents
skipFirstIndent = false;
}
utilWriter.Flush();
string s = ((StringWriter)utilWriter.Writer).ToString();
return s;
}
示例4: CopyXmlNode
//.........这里部分代码省略.........
case XmlNodeType.Text:
utilWriter.AppendEscapeTextString(this._reader.Value);
break;
case XmlNodeType.XmlDeclaration:
s = "?>";
fromLineNumber = this._reader.LineNumber;
fromLinePosition = this._reader.LinePosition + 3;
utilWriter.Write("<?xml");
while (this._reader.MoveToNextAttribute())
{
int num10 = this._reader.LineNumber;
int num11 = this._reader.LinePosition;
utilWriter.AppendRequiredWhiteSpace(fromLineNumber, fromLinePosition, num10, num11);
int num12 = utilWriter.Write(this._reader.Name) + utilWriter.Write('=');
num12 += utilWriter.AppendAttributeValue(this._reader);
fromLineNumber = num10;
fromLinePosition = num11 + num12;
}
this._reader.MoveToElement();
break;
case XmlNodeType.SignificantWhitespace:
utilWriter.Write(this._reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
utilWriter.AppendProcessingInstruction(this._reader.Name, this._reader.Value);
break;
case XmlNodeType.EntityReference:
utilWriter.AppendEntityRef(this._reader.Name);
break;
case XmlNodeType.CDATA:
utilWriter.AppendCData(this._reader.Value);
break;
default:
if (nodeType == XmlNodeType.DocumentType)
{
int num13 = utilWriter.Write("<!DOCTYPE");
utilWriter.AppendRequiredWhiteSpace(this._lastLineNumber, this._lastLinePosition + num13, this._reader.LineNumber, this._reader.LinePosition);
utilWriter.Write(this._reader.Name);
string str2 = null;
if (this._reader.HasValue)
{
str2 = this._reader.Value;
}
fromLineNumber = this._reader.LineNumber;
fromLinePosition = this._reader.LinePosition + this._reader.Name.Length;
if (this._reader.MoveToFirstAttribute())
{
utilWriter.AppendRequiredWhiteSpace(fromLineNumber, fromLinePosition, this._reader.LineNumber, this._reader.LinePosition);
string name = this._reader.Name;
utilWriter.Write(name);
utilWriter.AppendSpace();
utilWriter.AppendAttributeValue(this._reader);
this._reader.MoveToAttribute(0);
if (name == "PUBLIC")
{
this._reader.MoveToAttribute(1);
utilWriter.AppendSpace();
utilWriter.AppendAttributeValue(this._reader);
this._reader.MoveToAttribute(1);
}
}
if ((str2 != null) && (str2.Length > 0))
{
utilWriter.Write(" [");
utilWriter.Write(str2);
utilWriter.Write(']');
}
utilWriter.Write('>');
}
break;
}
bool flag = this._reader.Read();
nodeType = this._reader.NodeType;
if (s != null)
{
int positionOffset = GetPositionOffset(nodeType);
int num15 = this._reader.LineNumber;
int num16 = (this._reader.LinePosition - positionOffset) - s.Length;
utilWriter.AppendWhiteSpace(fromLineNumber, fromLinePosition, num15, num16);
utilWriter.Write(s);
}
if (utilWriter.TrackPosition)
{
this._lastLineNumber = (lineNumber - num5) + utilWriter.LineNumber;
if (num5 == utilWriter.LineNumber)
{
this._lastLinePosition = (linePosition - num6) + utilWriter.LinePosition;
return flag;
}
this._lastLinePosition = utilWriter.LinePosition;
}
return flag;
}