2016-07-07 6 views
1

私はMatlabを使用してXMLファイルを作成しようとしていますが、ヘッダーにDOCTYPE DTDを指定する必要がありますが、Matlabのドキュメントや質問に関連する方法は見つかりませんでした。 DTDリファレンスを含むすべての質問は、 XMLをMatlabに読み込む方法に関するものです。MatlabにXMLを書く:DTDへの参照を追加するには?

:私は今、行うことができるよ何

は、私はDTDの参照を含めるために、ファイルを必要とする、

docNode = com.mathworks.xml.XMLUtils.createDocument('root'); 
root = docNode.getDocumentElement; 

child = docNode.createElement('child'); 
child.appendChild(docNode.createTextNode('Hello World!')); 
root.appendChild(child); 

xmlwrite(docNode) 

しかし、コード付きタイプ

<?xml version="1.0"?> 
<root> 
    <child> 
     Hello world! 
    </child> 
</root> 

のXMLファイルであります

<?xml version="1.0"?> 
<!DOCTYPE root SYSTEM "root.dtd" []> 
<root> 
    <child> 
     Hello world! 
    </child> 
</root> 

には何かがありますか。com.mathworks.xml.XMLUtilsこのため?または、生成されたXMLを開き、手動でDTD参照を挿入する必要がありますか?

答えて

0

org.w3c.domパッケージを使用してご利用いただけます。createDocumentTypeの方法はDOMImplementationです。このアップデートで

domImpl = docNode.getImplementation(); 
doctype = domImpl.createDocumentType('root', 'SYSTEM', 'root.dtd'); 

完全なサンプルコードは次のとおりです。

docNode = com.mathworks.xml.XMLUtils.createDocument('root'); 
domImpl = docNode.getImplementation(); 
doctype = domImpl.createDocumentType('root', 'SYSTEM', 'root.dtd'); 
docNode.appendChild(doctype); 

root = docNode.getDocumentElement; 

child = docNode.createElement('child'); 
child.appendChild(docNode.createTextNode('Hello World!')); 
root.appendChild(child); 

xmlwrite(docNode) 

出力

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE root PUBLIC "SYSTEM" "root.dtd"> 
<root> 
    <child>Hello World!</child> 
</root> 
関連する問題