Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QXmlFormatter类是一个实现QXmlSerializer转化XQuery输出成XML格式。More...
该QXmlFormatter类是一个实现QXmlSerializer转化XQuery输出成XML格式。
QXmlFormatter是的一个子类QXmlSerializer该格式化XML输出,以方便人们阅读。
QXmlSerializer输出的XML无需增加不必要的空格。特别是,它不加newlines和缩进。为了使XML输出更易于阅读, QXmlFormatter增加newlines和缩进通过添加,删除和修改sequence nodes仅包含空白的。它还会修改空格在其他地方是不显着,例如,属性之间以及在文档序幕。
例如,其中基类QXmlSerializer将输出这样的:
<a><b/><c/><p>Some Text</p></a>
QXmlFormatter输出这样的:
<a> <b/> <c/> <p>Some Text</p> </a>
如果你只是想在一个人类可读的格式序列化的XML ,使用QXmlFormatter因为它是。默认的缩进级别为4个空格,但你可以设置你自己的缩进值setIndentationDepth( ) 。
该newlines和缩进由QXmlFormatter加入适用于常见的格式,如XHTML ,SVG或Docbook的,空白的地方不显着。但是,如果你的XML将被用作输入空白的地方是显着,那么你必须编写自己的子类QXmlSerializer or QAbstractXmlReceiver。
请注意,使用QXmlFormatter代替QXmlSerializer会增加计算开销和存储文件大小,由于空白的插入。
另请注意,缩进风格采用QXmlFormatter保持松散定义和Qt中的未来版本可能会改变。如果一个特定的缩进风格需要那么无论使用基类QXmlSerializer直接,或编写自己的子类QXmlSerializer or QAbstractXmlReceiver。或者,你可以继承QXmlFormatter和重新实现回调那里。
QXmlQuery query; query.setQuery("doc('index.html')/html/body/p[1]"); QXmlFormatter formatter(query, myOutputDevice); formatter.setIndentationDepth(2); query.evaluateTo(&formatter);
构造一个使用的名称游泳池和消息处理程序格式化query,并把结果写入outputDevice作为格式化的XML 。
outputDevice被直接传递到QXmlSerializer的构造。
See also QXmlSerializer。
从重新实现QAbstractXmlReceiver.atomicValue( ) 。
从重新实现QAbstractXmlReceiver.characters( ) 。
从重新实现QAbstractXmlReceiver.comment( ) 。
从重新实现QAbstractXmlReceiver.endDocument( ) 。
从重新实现QAbstractXmlReceiver.endElement( ) 。
从重新实现QAbstractXmlReceiver.endOfSequence( ) 。
返回的空格数QXmlFormatter将输出每个缩进级别。默认值是4 。
See also setIndentationDepth( ) 。
从重新实现QAbstractXmlReceiver.processingInstruction( ) 。
Sets depth是的空格数QXmlFormatter将输出缩进的水平。默认值是4 。
See also indentationDepth( ) 。
从重新实现QAbstractXmlReceiver.startDocument( ) 。
从重新实现QAbstractXmlReceiver.startElement( ) 。
从重新实现QAbstractXmlReceiver.startOfSequence( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |