如果:XElement存在,否则创建一个新的 [英] If: XElement Exists, Else Create new one
问题描述
我的XML档案:
$ b
<?xml version =1.0encoding =utf-8?>
< SimpleKD>
< player name =Tardis>
<杀死> 0< /杀死>
<死亡> 0< /死亡>
< / player>
< / SimpleKD>
首先,我需要检查用户名Tardis是否存在于xml .element(player)。attribute(name)
。
如果没有,我需要创建它杀人和死亡为零。
如果是这样,我需要读取杀死和死亡,并将它们设置为变量。
我一直在使用 用于编写XML的代码: 假设您有一个 My XML File: First off, I need to check if the username "Tardis" exists in the xml If it doesn't, i need to create it with kills and deaths at zero.
If it does, I need to read kills and deaths and set them to variables. I have been using Code used to write the XML:
Assuming you have a
这篇关于如果:XElement存在,否则创建一个新的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! XElement $
public static string username =Tardis;
public static int kills = 0;
public static int deaths = 0;
........
XElement Players = new XElement(
SimpleKD,
new XElement(player,
new XAttribute(name,username),
new XElement(kill,kill),
new XElement(deaths,deaths)));
class:
private static Player GetPlayer(string name,XElement simpleKD)
{
var playerElem = simpleKD.Elements(player)
.SingleOrDefault(p => p.Attribute(name)。
if(playerElem == null)
{
simpleKD.Add(new XElement(player,
new XAttribute(name,name),
new XElement(kill,0),
new XElement(deaths,0)));
返回新玩家(名字);
return new Player(name,
(int)playerElem.Element(kill),
(int)playerElem.Element(deaths) );
}
<?xml version="1.0" encoding="utf-8"?>
<SimpleKD>
<player name="Tardis">
<kills>0</kills>
<deaths>0</deaths>
</player>
</SimpleKD>
.element("player").attribute("name")
.XElement
to try and do this.. Thanks!public static string username = "Tardis";
public static int kills = 0;
public static int deaths = 0;
........
XElement Players = new XElement(
"SimpleKD",
new XElement("player",
new XAttribute("name", username),
new XElement("kills", kills),
new XElement("deaths", deaths)));
Player
class:private static Player GetPlayer(string name, XElement simpleKD)
{
var playerElem = simpleKD.Elements("player")
.SingleOrDefault(p => p.Attribute("name").Value == name);
if (playerElem == null)
{
simpleKD.Add(new XElement("player",
new XAttribute("name", name),
new XElement("kills", 0),
new XElement("deaths", 0)));
return new Player(name);
}
return new Player(name,
(int)playerElem.Element("kills"),
(int)playerElem.Element("deaths"));
}