C# XML读取特定属性
我正在尝试创建一个小应用程序,它允许用户编辑xml文件 我得到如下XML文件:C# XML读取特定属性,c#,xml,attributes,C#,Xml,Attributes,我正在尝试创建一个小应用程序,它允许用户编辑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" /> &
<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>
但是我需要在combobox中添加Meshfiles的每个值,但我不知道如何添加。您发布的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"));
}
}
}
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Xml;
使用System.Xml.Linq;
命名空间控制台应用程序1
{
班级计划
{
常量字符串文件名=@“c:\temp\test.xml”;
静态void Main(字符串[]参数)
{
XmlReaderSettings设置=新建XmlReaderSettings();
settings.ConformanceLevel=ConformanceLevel.Fragment;
XmlReader=XmlReader.Create(文件名、设置);
List meshFiles=新列表();
而(!reader.EOF)
{
if(reader.Name!=“属性”)
{
读者。阅读如下(“财产”);
}
if(!reader.EOF)
{
XElement属性=(XElement)XElement.ReadFrom(reader);
if((字符串)property.Attribute(“name”)=“Meshfile”)
{
添加((字符串)property.Attribute(“value”);
}
}
}
}
}
}
应用程序,允许用户编辑xml文件
听起来很吸引人!让我知道如何购买和下载时,它是完整的!我一直想知道如何编辑XML文件…嗯,实际上,我不能删除额外的标记,因为事实上我并不支持创建这些XML,这些XML是由开发游戏的人创建的,我只想把所有的Mesh文件都列在combobox中。。如果我试着在VS2015中使用你的代码,你的代码就不起作用了对不起,它起作用了,这是我的错误,谢谢你的回答,干杯