StupidBeauty
Read times:472Posted at:Fri Feb 24 02:43:25 2012
- no title specified

Qt4.8文档翻译:QXmlStreamWriter类参考,QXmlStreamWriter Class Reference

详细描述

QXmlStreamWriter类提供一個具有简单流式编程接口的XML 输出器。

QXmlStreamWriter是 QXmlStreamReader 的对应物,用来输出XML。就像它的那些相关类一样,它在一個 QIODevice 上操作,而那个东西是由 setDevice ()指定的。它的编程接口是简单而直观的:对于妳想要输出的每个XML 标记或事件,它都提供咯一個专用的函数。

妳用 writeStartDocument ()来开始一個文档,而用 writeEndDocument ()来结束它。这個函数會隐式地关闭所有还未关闭的标签。

对于元素标签,以 writeStartElement ()打开,接下来是 writeAttribute ()或 writeAttributes (),再是元素内容,然后是 writeEndElement ()。还有一种简短的方式,用 writeEmptyElement ()来输出空的元素,再使用 writeAttributes ()。

元素内容由以下东西组成:字符(characters)、实体引用(entity references)或嵌套元素。分别由以下函数来输出: writeCharacters (),它會将禁用的字符和字符序列转义; writeEntityReference ();接着调用 writeStartElement ()。便利函数 writeTextElement ()可用来输出终端结点,它们只包含文字。

下面这個缩略版的代码片断演示咯如何用这個类来输出带有缩进的格式化XML:

QXmlStreamWriter stream( & output);

stream . setAutoFormatting( true );

stream . writeStartDocument();

...

stream . writeStartElement( "bookmark" );

stream . writeAttribute( "href" , "http://qt.nokia.com/" );

stream . writeTextElement( "title" , "Qt Home" );

stream . writeEndElement(); // bookmark

...

stream . writeEndDocument();

QXmlStreamWriter會处理好前缀命名空间的事,妳需要做的只是在输出元素或属性的时候指定 namespaceUri (命名空间统一资源标识符)。如果妳必须遵守某個前缀的话,那麽妳可以使用 writeNamespace ()或 writeDefaultNamespace ()来手动声明它们,以让输出器使用它们。或者,妳可以越过(bypass)这個流式输出器的命名空间支持功能,使用一些采用适当(qualified)名字做参数的重载函数。默认(implicit)的命名空间是 http://www.w3.org/XML/1998/namespace ,它被映射到前缀 xml 上。

这個流式输出器可以自动对生成的XML 进行格式化,它會在元素之间的空白区域添加换行符和缩进,使得XML 数据更适合肉眼阅读,并且很容易与多数源代码管理系统配合。这個特性可使用 autoFormatting 属性来开启,并可使用 autoFormattingIndent 属性来控制其细节。

其它函数包括 writeCDATA ()、 writeComment ()、 writeProcessingInstruction ()和 writeDTD ()。XML 流的链接(Chaining)是用 writeCurrentToken ()支持的。

默认情况下,QXmlStreamWriter 以UTF-8 来对XML编码。可使用 setCodec ()来强制采用其它编码。

如果在输出到设备的过程中出错咯,则 hasError ()从那里起會一直返回真(true),并且后续的输出會被忽略。

QXmlStream书签示例 演示咯如何用一個流式输出器来将先前用 QXmlStreamReader 读入的XML 书签文件(XBEL)输出。

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4