Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用c测试xml节点#_C#_Xml - Fatal编程技术网

C# 用c测试xml节点#

C# 用c测试xml节点#,c#,xml,C#,Xml,我在检查具有某些属性的元素是否存在时遇到问题。我会解释的。。我有以下代码 XDocument xDocument = XDocument.Parse(member.getProperty(itemlist).Value.ToString()); xDocument.Root.Add(new XElement( "Item", new XAttribute("Text", texts), new XAttribute("Value", values))); member.g

我在检查具有某些属性的元素是否存在时遇到问题。我会解释的。。我有以下代码

XDocument xDocument = XDocument.Parse(member.getProperty(itemlist).Value.ToString());
xDocument.Root.Add(new XElement(
    "Item",
    new XAttribute("Text", texts),
    new XAttribute("Value", values)));
member.getProperty(itemlist).Value = xDocument.ToString();
member.Save();

我需要你们理解的就是这么简单——我把一些东西转换成我的
XDocument
(这是一个xml),然后我简单地在上面添加一个带有一些属性的新项目。但现在我的问题来了。我想这样做:如果具有该属性的项目存在,则删除,如果不存在,则添加。我怎么做这个测试?谢谢大家。

你的意思是这样的:

var existingItem = 
        xDocument.Root
                 .Elements("Item")
                 .FirstOrDefault(o => 
                                      (string)o.Attribute("Text") == texts 
                                        && 
                                      (string)o.Attribute("Value") == values
                                 );
if(existingItem != null)
{
    //DELETE !!!
}
else
{
    //ADD !!!
}

就是这样,伙计,这是我需要的验证!谢谢,先生:D汉克斯·哈尔07,这会很方便。@hard07这是100%有效的,但是在添加时,他复制了这个项目。知道为什么吗?目前不知道。就我所知,它应该可以正常工作。考虑打开新的问题,如果你找不到解决方案,张贴你的代码添加部分那里。