Navigator.InsertAfter =无效的操作异常 - XML& VB.NET

时间:2014-04-27 02:51:26

标签: xml vb.net invalidoperationexception xpathnavigator

从昨天开始,我一直在努力解决这个问题。 我有一个像这样的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,有和没有第一个&amp; navigator.MoveToChild上的第二个URI,使用xsi而不是xmlns添加新的命名空间。 我已经多次读过msdn网站了,我无法理解。我做错了什么?

我需要添加的是这一特定行:

<TakeDown>true</TakeDown> 

在节点之间,一个叫做Usage,另一个叫Territory。

谢谢你 再见 贡萨洛

编辑:忘了说有几个Usage和Territory标签,我需要在所有这些标签之间添加相同的行,这是否与问题有关?

0 个答案:

没有答案