开发者社区


C++/C | Java | .Net/Windows | Linux/Unix | 开源 | 其他
首页 - 编程
编程
全文搜索:   

理解.NET中的XML格式化选项
作者: ZDNet China
2003-12-11 14:57:58



缩进

我们可以通过三个步骤来改变文档缩进格式。首先,我们使用XmlTextWriter类。这个类包含一系列属性如:FormattingIndentationIndentChar

首先我们使用Formatting属性来设置XML文档缩进或者来判断其是否需要缩进。解析器会自动在XML文档中加入缩进,以方便我们更容易的通过文本编辑器查看XML文档。

Indentation 属性用来设定每次要缩进多少个空格。默认值是缩进两个空格。

IndentChar属性可以允许我们在解析器进行缩进使用其他字符代替默认的空格缩进符。当然,虽然有的字符在你的XML文档中不起作用,不过在调试或者其他过程中就不一定了,因此最好小心使用这个属性。

 

列表C是我们在开始代码的基础上应用了这三个属性的代码。我们在代码中指定要对输入文档进行缩进(不像列表B那样都堆在一起);并且指定缩进四个字符;缩进字符我们使用默认的空格符。

Listing C
xmlWriter = New XmlTextWriter(filename, Nothing)

xmlWriter.Formatting = Formatting.Indented
xmlWriter.Indentation = 4
xmlWriter.IndentChar = " "c

xmlWriter.WriteStartElement("Order")

xmlWriter.WriteStartElement("Item")
xmlWriter.WriteAttributeString("id", "1")
xmlWriter.WriteElementString("SKU", "998123")
xmlWriter.WriteElementString("Description", "Super Widget")
xmlWriter.WriteElementString("Quantity", "100")
xmlWriter.WriteEndElement()

xmlWriter.WriteStartElement("Item")
xmlWriter.WriteAttributeString("id", "2")
xmlWriter.WriteElementString("SKU", "81312")
xmlWriter.WriteElementString("Description", "Turbo Flangellator")
xmlWriter.WriteElementString("Quantity", "50")
xmlWriter.WriteEndElement()

xmlWriter.WriteEndElement()
xmlWriter.Close()

列表D就是输出结果:

Listing D: sample2.xml
<Order>
    <Item id="1">
        <SKU>998123</SKU>
        <Description>Super Widget</Description>
        <Quantity>100</Quantity>
    </Item>
    <Item id="2">
        <SKU>81312</SKU>
        <Description>Turbo Flangellator</Description>
        <Quantity>50</Quantity>
    </Item>
</Order>

引用

除了缩进之外,你还可以修改引用方式。QuoteChar属性可以允许你调整引用字符串的符号。默认的是双引号,你也可以将它修改成单引号。QuoteChar可以让你选择引号字符,然而和IndentChar一样,你必须注意新修改的字符不能在XML文档中产生任何副作用。

编码

你可以设置输出文档的编码格式。这不是通过设置属性来实现的,相反,你需要在XmlTextWriter类的构造器中指定编码方式。在System.Text.Encoding中可用的编码都可以被使用。具体值如下:

  • System.Text.Encoding.ASCII
  • System.Text.Encoding.BigEndianUnicode
  • System.Text.Encoding.Default
  • System.Text.Encoding.Unicode
  • System.Text.Encoding.UTF7
  • System.Text.Encoding.UTF8

大多数时候,你只需要使用默认的编码方式就可以了。不过有时候你需要自己设置编码,这取决于你将要把文档发送到哪里。


本文作者Brian Schaffner是富士通咨询公司的副主任。他为富士通的技术咨询公司提供架构、设计和开发支持。




责任编辑:李宁

欢迎评论投稿

【上一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号