我正在尝试存储和打印<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