C#のXmlDocumentクラスを使用して作成した、xmlに、要素(Node?)を一つ挿入したいのですが、どうしても思った場所に挿入できません。
具体的には、
xml
1<?xml version="1.0" encoding="utf-8"?> 2<contents> 3 <head> 4 (headの内容) 5 </head> 6 <body> 7 (Bodyの内容) 8 </body> 9</contents>
このようなXMLがあったとき、例えば、<title>タイトル</title>を、<head>のすぐ後に追加したいのですが、InsertAfterを使って挿入してみたのですが、指定する引数をどうしていいのかわからずに、うまく挿入が出来ません。
具体的には、
C#
1XmlNode workNode; 2workNode = xmlDoxument.SelectSingleNode("head"); 3 4XmlElement xmtitle= xmlDoxument.CreateElement("titke"); 5xmtitle.InnerText = "タイトル"; 6 7xmlRoot.InsertAfter(xmtitle, workNode);
このようにやってみたのですが、実際には、workNodeが空になってしまい、結果は、
xml
1<?xml version="1.0" encoding="utf-8"?> 2<contents> 3 <title>タイトル</title> ←ここに入ってしまう 4 <head> 5 ←本当はここに入れたい 6 (headの内容) 7 </head> 8 <body> 9 (Bodyの内容) 10 </body> 11</contents>
このようになってしまいます(+.+)
InsertAfterの使い方をいろいろ調べてみたのですが、例えば、
http://hiros-dot.net/CS2003/XML/XML10.htm
このようなサイトがあり、使い方も書かれていたりするのですが、なぜか、どのサイトを見ても、InsertAfterの第2引数には、xmlRoot.FirstChildが指定してあるところばかりで、好きな位置に挿入する方法がわかりません。
InsertAfterの第2引数には、この場合、どのように指定したらいいのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/26 02:44
2017/02/26 02:46
2017/03/04 10:16