1

昨日からこれで悩んでいます。次のような XML ファイルがあります (スニペット):

<?xml version="1.0" encoding="UTF-8"?>
<ern:NewReleaseMessage xmlns:ern="url-1" xmlns:xsi="url-2" xsi:schemaLocation="url-1-again url-1-again/ern-main.xsd" MessageSchemaVersionId="2010/ernm/32" LanguageAndScriptCode="en">
<MessageHeader>
...
...

XmlNamespaceManager を使用していくつかのものを削除することができました。すべてがうまく機能します。コード行を挿入しようとすると、次のようにします。

Dim navigator As XPathNavigator = XmlDoc.CreateNavigator()
navigator.MoveToChild("ern:NewReleaseMessage", "url-1")
navigator.MoveToChild("ern:DealList", "url-1")
navigator.MoveToChild("ern:ReleaseDeal", "url-1")
navigator.MoveToChild("ern:Deal", "url-1")
navigator.MoveToChild("ern:DealTerms", "url-1")
navigator.MoveToChild("ern:Usage", "url-1")
navigator.InsertElementAfter(navigator.Prefix, "TakeDown", navigator.LookupNamespace(navigator.Prefix), "true")
'navigator.InsertAfter("<TakeDown>true</TakeDown>")

私はいつも同じエラーが発生します:

無効な操作の例外。エクスプローラーの実際の位置により、操作は無効です。

NameSpaceManager を使用しない、InsertAfter、InsertBefore、InsertElementAfter、InsertElementBefore を使用する、navigator.MoveToChild の最初と 2 番目の URI を使用する場合と使用しない場合、xmlns の代わりに xsi を使用して新しい名前空間を追加するなど、いくつか試しました。msdn Web サイトを何度か読みましたが、わかりません。私は何を間違っていますか?

追加する必要があるのは、次の特定の行です。

<TakeDown>true</TakeDown> 

ノード間で、1 つは Usage と呼ばれ、もう 1 つは Territory と呼ばれます。

今までありがとう バイバイ ゴンザロ

編集: いくつかの使用法タグと地域タグがあることを忘れていました。それらすべての間に同じ行を追加する必要があります。これは問題に関連していますか?.

4

0 に答える 0