ノードの名前を置き換えようとしていますが、「参照ノードはこのノードの子ではありません」というエラーが表示されます。なぜこれが起こっているのかはわかっていると思いますが、この問題を回避できないようです。XML は次のとおりです。
<payload:Query1 xmlns="" xmlns:payload="" xmlns:xsi="" xsi:schemaLocation="">
<payload:QueryId>stuff</payload:QueryId>
<payload:Data>more stuff</payload:Data>
</payload:Query1>
そして、ここにC#ビットがあります:
doc.Load(readStream);
nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("payload", "location");
XmlNode Query1 = doc.SelectSingleNode("//payload:Query1", nsmgr);
public XmlDocument sendReply(args)
{
XmlNode newNode = doc.CreateElement("payload:EditedQuery");
Query.InsertBefore(newNode, Query1);
Query.RemoveChild(Query1);
return doc;
}
「Query」を「EditedQuery」に置き換えようとしていますが、うまくいきません。