2016-10-20 1 views
0

他のノードのドキュメントのノードを別のドキュメントの構造と同じ構造で置き換えようとしています(2つのドキュメントの構造と起源org.w3c.dom.DOMExceptionは、replaceChild()のときにdetaliedメッセージがありません

public static void replaceLines(Document target, Document source){ 
     Node sourceNode =source.getElementsByTagName("lines").item(0); 
     Node targetNode=target.getElementsByTagName("lines").item(0); 
     target.getChildNodes().item(0).replaceChild(sourceNode,targetNode); 
    } 

お知らせこと::

target.getElementsByTagName("lines").item(0) = target.getChildNodes().item(0) 

そして、私はこの例外を取得:この方法を使用して)異なる

10-20 16:19:48.259 20021-20021/myapp.mygestion E/AndroidRuntime: 
FATAL EXCEPTION: main 
Process: myapp.mygestion, PID: 20021 
org.w3c.dom.DOMException 
    at org.apache.harmony.xml.dom.InnerNodeImpl.insertChildAt(InnerNodeImpl.java:118) 
    at org.apache.harmony.xml.dom.InnerNodeImpl.replaceChild(InnerNodeImpl.java:199) 
    at mygestion.com.utiles.XmlEditor.replaceLines(XmlEditor.java:128) 
    at mygestion.com.DetalleFicha$9.onPostExecute(DetalleFicha.java:1078) 
    at android.os.AsyncTask.finish(AsyncTask.java:636) 
    at android.os.AsyncTask.access$500(AsyncTask.java:177) 
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653) 
    at android.os.Handler.dispatchMessage(Handler.java:111) 
    at android.os.Looper.loop(Looper.java:194) 
    at android.app.ActivityThread.main(ActivityThread.java:5637) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 

私はそれは詳細なメッセージを持っていないと私はエラーの原因、任意のアイデアを見つけることができますか?

答えて

1

ノードをソースドキュメントからターゲットドキュメントに置き換えようとすると、例外がスローされているようです。 replaceChild(Node newChild, Node oldChild)Javadocに指定されているように、新しい子が別のドキュメントから作成された場合、DOMExceptionがスローされます。 ノードをクローンし、ターゲット文書でノードを作成してから追加/置換してください。

関連する問題