专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »XML教程 » netframework2.0:在.NET Framework中轻松处理XML数据(4-2) »正文

netframework2.0:在.NET Framework中轻松处理XML数据(4-2)

来源: 发布时间:星期四, 2009年2月12日 浏览:98次 评论:0


Figure 7 States for XML Writer

State
Description

Attribute
The writer enters this state when an attribute is being written

Closed
The Close method has been called and the writer is no longer available for writing operations

Content
The writer enters this state when the content of a node is being written

Element
The writer enters this state when an element start tag is being written

Prolog
The writer is writing the prolog of a well-formed XML 1.0 document

Start
The writer is in an initial state, awaiting for a write call to be issued


Writer 把输出文本存在内部个缓冲区内般情况下缓冲区会被刷新或者被清除当Writer被关闭前XML文本应该要写出在任何时你都可以通过Flush思路方法清空缓冲区把当前内容写到流中(通过BaseStream属性暴露流)然后释放部分占用内存Writer仍保持为打开状态(open state)可以继续操作注意虽然写了部分文档内容但是在Writer没有关闭前其它是不能处理该文档

可以用两种思路方法来写属性节点种思路方法是用WriteStartAtribute思路方法去创建个新属性节点更新Writer状态接着用WriteString思路方法设置属性值写完后用WriteEndElement思路方法结束该节点另外你也可以用WriteAttributeString思路方法去创建新属性节点当writerr状态为Element时WriterAttributeString开始工作它单独创建个属性同样WriteStartElement思路方法写节点开始标签(<)然后你可以随意设置节点属性和文本内容元素节点闭标签都带”/ >”如果想写闭标签可以用WriteFullEndElement思路方法来写

应该避免传送给写思路方法文本中包含敏感标记例如小于号(<)用WriteRaw思路方法写入流串不会被解析我们可以用它来对xml文档写入特殊下面两行代码行输出是”<”第 2行输出”<”:

writer.WriteString(\"<\");

writer.WriteRaw(\"<\");
\">



读写流

有趣reader(阅读器)和writer类提供了基于Base64 和BinHex编码读写数据流思路方法WriteBase64 和 WriteBinHex思路方法功能和其它写思路方法功能存在着细微差别它们都是基于流这两个思路方法功能像而不是下面代码首先把转换成然后把它们写成个Base64 编码流Encoding类GetBytes静态思路方法完成转换任务:

writer.WriteBase64(

Encoding.Unicode.GetBytes(buf),

0, buf.Length*2);

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: