※ ChatGPTを利用し、要約された質問です(原文:中身が一部しかわかっていないXMLの読み方)
中身が一部しかわかっていないXMLの読み方
このQ&Aのポイント
C#でXMLを読み、特定のタグの中身を書き換える処理を実装するための方法について説明します。
XMLファイルの中に書き換えたいタグ以外にどんなタグがあるかがわからない場合、再帰処理を使ってタグを探し、見つかったら値を書き換えます。
さらにスマートな方法やヒントについても教えてください。
XML例
<A>
<B>
bbb
</B>
<C>
<D>
ddd
</D>
</C>
</A>
C#でXMLを読み、特定のタグの中身を書き換える処理を実装しようしています。
ただしXMLファイルの中に書き換えたいタグ以外にどんなタグがあるかがわかっていません。
上記の例の場合、
「<A> - <C> - <D>のdddを書き換えたい」ということはわかっています。
この場合どのように行うのがよいでしょうか?
ネットでのソースを参考に書き換えたい値のタグが見つかるまで再帰処理を行い
タグが見つかった場合値を書き換えるような処理を書いてみました。
よくあるやり方や、もっとスマートな方法が有りましたらご教授お願いします。
また直接関係なくともヒントとなるようなものでも結構です。
よろしくお願いします。
void test()
{
XmlDocument document = new XmlDocument();
// ファイルから読み込む
document.Load(filePath);
readXML(document.DocumentElement);
}
void readXML(XmlNode node)
{
// if(node.Name == "D") // 書き換えたい値のタグか判定する
//{
// 値を書き換える処理
//}
if (node.HasChildNodes)
{
node = node.FirstChild;
while (node != null)
{
readXML(node);
node = node.NextSibling;
}
}
}
お礼
こうゆうものがあるのですね。 非常に助かりました。 ありがとうございます。