Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QXmlFormatter Class Reference
[QtXmlPatterns module]

该QXmlFormatter类是一个实现QXmlSerializer转化XQuery输出成XML格式。More...

继承QXmlSerializer

Methods


Detailed Description

该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);

Method Documentation

QXmlFormatter.__init__ (self, QXmlQuery query, QIODevice outputDevice)

构造一个使用的名称游泳池和消息处理程序格式化query,并把结果写入outputDevice作为格式化的XML 。

outputDevice被直接传递到QXmlSerializer的构造。

See also QXmlSerializer

QXmlFormatter.atomicValue (self, QVariant value)

从重新实现QAbstractXmlReceiver.atomicValue( ) 。

QXmlFormatter.attribute (self, QXmlName name, QStringRef value)

QXmlFormatter.characters (self, QStringRef value)

从重新实现QAbstractXmlReceiver.characters( ) 。

QXmlFormatter.comment (self, QString value)

从重新实现QAbstractXmlReceiver.comment( ) 。

QXmlFormatter.endDocument (self)

从重新实现QAbstractXmlReceiver.endDocument( ) 。

QXmlFormatter.endElement (self)

从重新实现QAbstractXmlReceiver.endElement( ) 。

QXmlFormatter.endOfSequence (self)

从重新实现QAbstractXmlReceiver.endOfSequence( ) 。

int QXmlFormatter.indentationDepth (self)

返回的空格数QXmlFormatter将输出每个缩进级别。默认值是4 。

See also setIndentationDepth( ) 。

QXmlFormatter.processingInstruction (self, QXmlName name, QString value)

从重新实现QAbstractXmlReceiver.processingInstruction( ) 。

QXmlFormatter.setIndentationDepth (self, int depth)

Sets depth是的空格数QXmlFormatter将输出缩进的水平。默认值是4 。

See also indentationDepth( ) 。

QXmlFormatter.startDocument (self)

从重新实现QAbstractXmlReceiver.startDocument( ) 。

QXmlFormatter.startElement (self, QXmlName name)

从重新实现QAbstractXmlReceiver.startElement( ) 。

QXmlFormatter.startOfSequence (self)

从重新实现QAbstractXmlReceiver.startOfSequence( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5