QDomDocument

QDomDocument

XMLドキュメント全体を表します
DOMツリーのルートノードにあたります

継承元


公式リファレンス


基本

コンストラクタ

QDomDocument::QDomDocument()
空の QDomDocument オブジェクトを生成します

QDomDocument::QDomDocument(const QString & name)
文書型の名前が name であるドキュメントを作成する

QDomDocument::QDomDocument(const QDomDocumentType & doctype)
文書型が doctype であるドキュメントを作成する

コピーコンストラクタ

QDomDocument::QDomDocument(const QDomDocument & x)
オブジェクトはシャローコピーされます
ディープコピーをする場合は cloneNode() を使用します

デストラクタ

QDomDocument::~QDomDocument()

型を取得する

QDomNode::NodeType QDomElement::nodeType() const
ノードタイプ( ElementNode )を取得します

演算子

QDomDocument & QDomDocument::operator=(const QDomDocument & x)

ノードを生成する

QDomAttr QDomDocument::createAttribute(const QString & name)
属性名 name である QDomAttr オブジェクトを生成します
属性名がXMLで許可された値でない場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomAttr QDomDocument::createAttributeNS(const QString & nsURI , const QString & qName )
名前空間URI nsURI 及び QName qName である QDomAttr オブジェクトを生成します
この関数は qName の値に応じて QDomNode::prefix() 及び QDomNode::localName() に適切な値を設定します
名前空間URI及びQNameがXMLで許可された値でない場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomCDATASection QDomDocument::createCDATASection(const QString & value )
valueQDomCDATASection オブジェクトを作成します
CDATAセクションに許可されない文字が含まれる場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomComment QDomDocument::createComment(const QString & value )
valueQDomComment オブジェクトを作成します
コメントに許可されない文字が含まれる場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomDocumentFragment QDomDocument::createDocumentFragment()
QDomDocumentFragment オブジェクトを生成します

QDomElement QDomDocument::createElement(const QString & tagName)
タグ名 tagName である QDomElement オブジェクトを生成します
タグ名がXMLで許可された値でない場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomElement QDomDocument::createElementNS(const QString & nsURI , const QString & qName )
名前空間URI nsURI 及び QName qName である QDomElement オブジェクトを生成します
qName が空の文字列の場合はnullノードを返します

QDomEntityReference QDomDocument::createEntityReference(const QString & name)
実体参照名 name である QDomEntityReference オブジェクトを生成します
実体参照名がXMLで許可された値でない場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomProcessingInstruction QDomDocument::createProcessingInstruction(const QString & target, const QString & data )
ターゲット target 及びデータ data である QDomProcessingInstruction オブジェクトを生成します
target がXMLで許可された値でない場合、 data が処理命令に許可されていない文字を含む場合の挙動は QDomImplementation::InvalidDataPolicy に従います

QDomText QDomDocument::createTextNode(const QString & value )
value のテキストノードを生成します
XML文章に文字データとして保持することができない文字が含まれる場合の挙動は QDomImplementation::InvalidDataPolicy に従います

情報を取得する

QDomDocumentType QDomDocument::doctype() const
本ドキュメントの文章型を取得します

QDomElement QDomDocument::documentElement() const
本ドキュメントのルート要素を取得します

QDomElement QDomDocument::elementById(const QString & elementId )
ID elementId を持った要素を検索し、取得します
該当する要素が存在しない場合はnullノードを返します

QDomNodeList QDomDocument::elementsByTagName(const QString & tagname ) const
本ドキュメント内でタグ名 tagname を持った要素を検索し、ノードリストで取得します
ノードリストの順番は見つかった順番です

QDomNodeList QDomDocument::elementsByTagNameNS(const QString & nsURI , const QString & localName )
本ドキュメント内で名前空間URI nsURI 及びローカル名 localName を持った要素を検索し、ノードリストで取得します
ノードリストの順番は見つかった順番です

QDomImplementation QDomDocument::implementation() const
本ドキュメントの QDomImplementation オブジェクトを取得します

QDomNode::NodeType QDomDocument::nodeType() const
本ノードのノードタイプ( QDomDocument )オブジェクトを取得します

XMLドキュメントからコンテンツを生成する

bool QDomDocument::setContent(const QByteArray & data , bool namespaceProcessing , QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
バイトデータからDOMツリーを生成する
XML宣言で指定されているものを文章の文字コードとして使用する

namespaceProcessing がtrueである場合、パーサーはXMLドキュメントをを分析する際に、名前空間を認識して名前空間URI、接頭辞及びローカル名に適切な値を設定する
namespaceProcessing がfalseである場合、パーサーはXMLドキュメントをを分析する際に、名前空間の処理を行わない

パーサーエラーが発生した場合、この関数はfalseを返し、以下のポインタがnullでない場合はエラー情報を設定する
errorMsg エラー内容
errorLine エラーが発生したXMLドキュメントの行番号
errorColumn エラーが発生したXMLドキュメントの列番号
エラーが発生しなかった場合はtrueを返します
エラーメッセージの種類についてはQXmlParseExceptionクラスで説明しています
これらのエラーメッセージをアプリケーションで表示した場合は、明示的に翻訳しない限りは英語で表示される

以下オーバーロード
引数が4つの関数は名前空間の解析を行わない
bool QDomDocument::setContent(const QString & text, bool namespaceProcessing , QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
bool QDomDocument::setContent(const QString & text, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
QStringからDOMツリーを生成する
既にUnicode文字なので文字コードの検出は行われない

bool QDomDocument::setContent(QIODevice * dev, bool namespaceProcessing , QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
bool QDomDocument::setContent(QIODevice * dev, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
QIODeviceからDOMツリーを生成する
文字コードはQIODeviceオブジェクトで指定されている

bool QDomDocument::setContent(QXmlInputSource * source, bool namespaceProcessing , QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
bool QDomDocument::setContent(QXmlInputSource * source, QXmlReader * reader, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0)
QXmlInputSourceからDOMツリーを生成する
文字コードはQXmlInputSourceオブジェクトで指定されている

DOMツリーからXMLドキュメントを生成する

QByteArray QDomDocument::toByteArray(int indent = 1) const
分析済みの文章をテキストに戻し、UTF-8エンコーディングのQByteArrayを返す
indent でインデントのサブ要素の空白の量を指定
  • 1の場合、いかなる空白も加えない

QString QDomDocument::toString(int indent = 1) const
分析済みの文章をテキストに戻し、QStringで返す
indent でインデントのサブ要素の空白の量を指定
  • 1の場合、いかなる空白も加えない

ノードをインポートする

QDomNode QDomDocument::importNode(const QDomNode & importedNode , bool deep )
他のドキュメントからこのドキュメントにノードをインポートする
インポートされたノードはコピー元のドキュメントにも残る
この関数はこのドキュメントに所属するインポートされたノードを返す
返されるノードは親は設定されていない
QDomDocumentノードやQDomDocumentTypeノードはインポートすることができず、これらのノードを渡した場合、返り値はnullとなる
depp=trueとすれば渡されたノードだけでなく、その子ツリーもすべてコピーされる
deep =falseの場合、渡されたノードのみインポートされる
deep 引数はQDomAttrノードやQDomEntityReferenceノードには効果がない
QDomAttrは常にインポートされ、QDomEntityReferenceノードはインポートされることがないからである

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2014年05月29日 00:14