作成した Java クラスを Android アプリケーションに挿入するのに問題があります。スタンドアロンの Java アプリケーションとして、問題なく動作します。クラスを取得してAndroidアプリ内に配置すると、xmlオブジェクトを操作しようとすると例外が発生します。私は以下を使用します:
import org.w3c.dom.Element;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSSerializer;
私がしていることは基本的にこれです:
Document doc;
Element root = GetRootElement("root");
Element nameElement;
nameElement = doc.createElement("x");
nameElement.setTextContent("y");
root.appendChild(nameElement);
DOMImplementationLS domImplementation = (DOMImplementationLS) doc.getImplementation();
LSSerializer lsSerializer = domImplementation.createLSSerializer();
return lsSerializer.writeToString(doc); //sends the xml's string somewhere else in the code
現在、このコードを通常の Java アプリケーションとして実行すると機能しますが、Android アプリでdoc.getImplementation()
は次のエラーで失敗します。
Caused by: java.lang.ClassCastException: org.apache.harmony.xml.dom.DOMImplementationImpl cannot be cast to org.w3c.dom.ls.DOMImplementationLS
できるだけ多くの情報を提供しようとしましたが、お役に立てば幸いです。