我正在尝试创建一个允许其用户编辑xml文件的小应用程序。
我得到了这样的XML文件:
<item id="1" name="item_01">
<property name="Meshfile" value="path_to_mesh_file" />
<property name="Material" value="organic" />
<property name="HoldType" value="23" />
<property name="Stacknumber" value="50" /></property>
</item>
<item id="2" name="item_02">
<property name="Meshfile" value="path_to_mesh_file" />
<property name="Material" value="organic" />
<property name="HoldType" value="23" />
<property name="Stacknumber" value="50" /></property>
</item>
<item id="3" name="item_03">
<property name="Meshfile" value="path_to_mesh_file" />
<property name="Material" value="organic" />
<property name="HoldType" value="23" />
<property name="Stacknumber" value="50" /></property>
</item>
<item id="4" name="item_04">
<property name="Meshfile" value="path_to_mesh_file" />
<property name="Material" value="organic" />
<property name="HoldType" value="23" />
<property name="Stacknumber" value="50" /></property>
</item>
但是我需要在每个网格文件的VALUE中加入组合框,但是我不确定如何。
答案 0 :(得分:0)
您发布的xml有额外标记,必须删除。发布的xml格式不正确,所以我不得不读作片段。见下面的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlReader reader = XmlReader.Create(FILENAME, settings);
List<string> meshFiles = new List<string>();
while (!reader.EOF)
{
if (reader.Name != "property")
{
reader.ReadToFollowing("property");
}
if (!reader.EOF)
{
XElement property = (XElement)XElement.ReadFrom(reader);
if ((string)property.Attribute("name") == "Meshfile")
{
meshFiles.Add((string)property.Attribute("value"));
}
}
}
}
}
}