- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机硬件及网络]用 XmlWriter 编写 XML
XmlWriter 是定义用于编写 XML 的接口的抽象基类。XmlWriter 提供只进、只读、不缓存的 XML 流生成方法,这有助于生成符合 W3C 可扩展标记语言 (XML) 1.0(第二版)( HYPERLINK /TR/2000/REC-xmlhtml /TR/2000/REC-xmlhtml) 建议和 XML 建议中的命名空间 ( HYPERLINK /TR/REC-xml-names/ /TR/REC-xml-names/) 的 XML 文档。
下面的列表显示 XmlWriter 出于以下目的定义的方法和属性:
指定是否支持命名空间。 编写格式正确的 XML。 将二进制字节编码为 base64 和 binhex,并写出结果文本。 用 WriteState 属性管理输出,包括用于确定输出进度的方法。 将多个文档写入一个输出流。 刷新或关闭输出。 报告当前命名空间前缀、xml:lang 或 xml:space 范围。 写出有效的名称、限定名和名称标记。 下面的列表标识了 XmlWriter 不检查的内容:
无效的元素和属性名称字符。 不符合指定编码的 Unicode 字符。如果 Unicode 字符不符合指定的编码,则 XmlWriter 不将 Unicode 字符转义为字符实体。 重复的属性。 DOCTYPE 公共标识符或系统标识符中的字符。 因为 XmlWriter 不检查这四项,这就允许您创建格式不正确的 XML。如果您需要确保元素和属性名称只包含有效字符或具有上面所列的其他功能,请参见自定义 XML 编写器创建主题。
可能使用 XmlWriter 的情形有:读取旧式数据,如分析管道 (| ) 分隔的数据文件;以及用 XmlTextWriter 将数据写成 XML 格式。
输入
data1|data2|data3|data4|data5并且希望将其转换为:
输出
data????? item data1 /item????? item data2 /item????? item data3 /item????? item data4 /item????? item data5 /item/data创建了一个方法将文件中的数据标记化为个别的数据标记。每个对该函数的调用均返回一个数据元素。该方法接受 StreamReader。
[Visual Basic]Public Shared Function NextToken(ByVal stream As StreamReader) As String??? Dim temp As Integer = stream.Read()??? Dim t1 As String = ??? While temp -1 And ChrW(temp) |??????? t1 += ChrW(temp)??????? temp = stream.Read()??? End While??? Return t1End Function NextToken[C#]public static String NextToken(StreamReader stream)? {????? int temp = stream.Read();????? String t1 = ;????? while(temp != -1 temp != (int)|)??????????? {????????????????? t1 += (char)temp;????????????????? temp = stream.Read();??????????? }????? return t1;? }代码循环访问,直到没有剩余的数据标记;并将每个标记插入到 XML 文档中。这在 Main 函数中完成,该函数带两个命令行参数。第一个参数是要读取的文件,第二个是要写入的文件。代码中的注释提供关于所发生的操作的说明。
[Visual Basic]Imports SystemImports System.IOImports System.XmlImports Microsoft.VisualBasic.Strings
Namespace TextFiletoXml??? Class TextFiletoXml??????? Public Shared file As String??????? Public Shared stream As StreamReader??????? Public Shared xwriter As XmlTextWriter??????
文档评论(0)