<name></name>
少なくとも最初の要素のタグの間に値を格納して出力しようとしていますが、の値を<item></item>
「検索」または「取得」できません<name></name>
。
(シナリオをより明確に説明してください...)
抽出したname
値を取得して変換し(すべて小文字で、単語間のスペースにアンダースコアを追加)、「images」フォルダー内の画像ファイル名を検索できるようにする予定です。
一致するものが見つかった場合-画像ファイルへのファイルパスを取得し、それを変数内に保存して<image></image>
から、現在の<item></item>
要素内に作成し、タグ間にファイルパスを貼り付けます。別の999アイテムについても同じことを繰り返します。一部のアイテムname
がどの画像ファイル名とも一致しない場合は、ログテキストファイルを作成し、一致しなかったアイテムの名前を保存します。
XML構造:
<items>
<item>
<name>Name1</name>
<price>Price1</price>
<description>Description1</description>
</item>
<item>
<name>Name2</name>
<price>Price2</price>
<description>Description2</description>
</item>
</items>
コード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace myXmlParser
{
class Program
{
static void Main(string[] args)
{
XmlTextReader reader = new XmlTextReader("C:\\items_data.xml");
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an element.
reader.MoveToElement();
Console.WriteLine(reader.Name);
break;
//case XmlNodeType.Text: //Display the text in each element.
// Console.WriteLine(reader.Value);
// break;
//case XmlNodeType.EndElement: //Display the end of the element.
// Console.Write("</" + reader.Name);
// Console.WriteLine(">");
// break;
}
}
Console.ReadKey();
}// main
}// class
}// namespace