XmlTextWriter学习笔记
2005-05-12 08:38
423 查看
转载:/article/4620532.html
原本想基于XmlDocument自己写一个Xml编写器,但却发觉状态维护实在麻烦。在阅读《Applied Xml Programming for Microsoft .Net》时,意外发现XmlTextWriter的优越性,于是决定直接使用它进行开发。
XmlWriter与XmlTextWriter的区别
一开始我认为既然XmlTextWriter可以用,那XmlWriter也一定可以用,当我写完下面的语句时,编译器报错。XmlWriter doc=new XmlWriter();
原因很简单,XmlWriter是抽象类,自然不能直接实例化。看了书后才知道XmlTextWriter是XmlWriter接口的实现类,因此初始化语句改为
XmlWriter doc=new XmlTextWriter();
这样就对了。 WriteStartElement("address");
WriteStartAttribute("state","California");
WriteEndAttribute();
WriteEndElement();
以上代码生成的xml:<address d1p1:state="" xmlns:d1p1="California" />
WriteStartElement("address");
WriteAttributeString("state","California");
WriteEndElement();
以上代码生成的xml: <address state="California" />
也就是说WriteAttributeString生成的是未处理的原始语句,而WriteStartAttribute()生成的是Xml Schema语句
7. WriteElementString(string LocalName, string Value)
与WriteAttributeString的用法相同,其中LocalName为节点名称,Value为节点的InnerText。
8. WriteString()与WriteRaw()的区别
WriteString("More >")生成的Xml是More >
WriteRaw("More >")生成的xml是More >
也就是说WriteString会把敏感字符转换为转义字符,而WriteRaw()则是直接写入,不做任何处理
9. WriteCData()
该函数是用来写用CData包裹的字符串,在字符串中有敏感字符时很有用
WriteCData("More >")生成的Xml是<![CDATA [More >]] >
常用属性说明
1.Formatting属性的默认值为Formatting.None
2.XmlTextReader.Indentation属性,表示缩近字符的字符数,当Formatting属性为Formatting.Indented时,才会生效
3.XmlTextReader.IndentChar才会生效,IndentChar是缩近字符,一般使用’\t’,当Formatting属性为Formatting.Indented时,才会生效
4.QuoteChar属性表示封闭字符,默认为双引号
好,我对xml也是一知半解的。有空也要好好学习这些基本的东西
多谢分享
我想知道对于没有内容的标签 如何使其成对出现
WriteStartElement("address");
WriteEndElement();
我用这样的
输出的是
<address />
而我想生成的是<address></address>
以方便后期添加内容.
如果你要生成的格式中允许多余空格的话,你可以试试这样写:
WriteStartElement("address"," "); //第二个参数是一个空格
WriteEndElement();
原本想基于XmlDocument自己写一个Xml编写器,但却发觉状态维护实在麻烦。在阅读《Applied Xml Programming for Microsoft .Net》时,意外发现XmlTextWriter的优越性,于是决定直接使用它进行开发。
XmlWriter与XmlTextWriter的区别
一开始我认为既然XmlTextWriter可以用,那XmlWriter也一定可以用,当我写完下面的语句时,编译器报错。XmlWriter doc=new XmlWriter();
原因很简单,XmlWriter是抽象类,自然不能直接实例化。看了书后才知道XmlTextWriter是XmlWriter接口的实现类,因此初始化语句改为
XmlWriter doc=new XmlTextWriter();
这样就对了。 WriteStartElement("address");
WriteStartAttribute("state","California");
WriteEndAttribute();
WriteEndElement();
以上代码生成的xml:<address d1p1:state="" xmlns:d1p1="California" />
WriteStartElement("address");
WriteAttributeString("state","California");
WriteEndElement();
以上代码生成的xml: <address state="California" />
也就是说WriteAttributeString生成的是未处理的原始语句,而WriteStartAttribute()生成的是Xml Schema语句
7. WriteElementString(string LocalName, string Value)
与WriteAttributeString的用法相同,其中LocalName为节点名称,Value为节点的InnerText。
8. WriteString()与WriteRaw()的区别
WriteString("More >")生成的Xml是More >
WriteRaw("More >")生成的xml是More >
也就是说WriteString会把敏感字符转换为转义字符,而WriteRaw()则是直接写入,不做任何处理
9. WriteCData()
该函数是用来写用CData包裹的字符串,在字符串中有敏感字符时很有用
WriteCData("More >")生成的Xml是<![CDATA [More >]] >
常用属性说明
1.Formatting属性的默认值为Formatting.None
2.XmlTextReader.Indentation属性,表示缩近字符的字符数,当Formatting属性为Formatting.Indented时,才会生效
3.XmlTextReader.IndentChar才会生效,IndentChar是缩近字符,一般使用’\t’,当Formatting属性为Formatting.Indented时,才会生效
4.QuoteChar属性表示封闭字符,默认为双引号
Feedback
# re: XmlTextWriter学习笔记(1)
2005-01-26 14:47 by myx好,我对xml也是一知半解的。有空也要好好学习这些基本的东西
# re: XmlTextWriter学习笔记
2005-02-04 12:48 by weko多谢分享
# re: XmlTextWriter学习笔记
2005-05-05 14:59 by skyblue我想知道对于没有内容的标签 如何使其成对出现
WriteStartElement("address");
WriteEndElement();
我用这样的
输出的是
<address />
而我想生成的是<address></address>
以方便后期添加内容.
# re: XmlTextWriter学习笔记
2005-05-05 20:49 by Tony Qu如果你要生成的格式中允许多余空格的话,你可以试试这样写:
WriteStartElement("address"," "); //第二个参数是一个空格
WriteEndElement();
相关文章推荐
- XmlTextWriter学习笔记
- XmlTextWriter学习笔记
- XmlTextWriter学习笔记
- XmlTextWriter学习笔记[转]
- XmlTextWriter学习笔记
- python XML_RPC 的使用 - 千月的python linux 系统管理指南学习笔记(22)
- xml学习笔记与心得
- Castor学习笔记一 -- 使用Castor XML
- 学习笔记-Mybatis(二)--XML方式的CRUD
- Java框架spring 学习笔记(十八):事务管理(xml配置文件管理)
- XML学习笔记
- Spring AOP学习笔记(4):AOP切面优先级&切面表达式重用&xml配置方式
- IOS学习笔记27—使用GDataXML解析XML文档
- HtmlTextWriter学习笔记
- Spring boot 和 mybatis 学习笔记2--Mapper XML (静态)
- XML学习笔记(九):XML和ADO.NET
- 8. Python脚本学习实战笔记八 使用XML-RPC进行文件共享
- xml&dom_sax_dom4j学习笔记(一)SAX解析XML文件
- J2EE Struts2 学习笔记002 ---- web.xml 解析
- Android 个人学习笔记之--- DOM解析XML文件