我得到了一些XML,这是其中的一部分:
<pair name="cf_item7" type="pair">
<pair name="cf_id" type="integer">34</pair>
<pair name="value" type="string">0</pair>
</pair>
XML中有许多对。我需要检查的部分的名称始终以cf_item *开头,但这可以是cf_item7,cf_item6或任何其他数字。
我需要检查这些cf_item *部分之一,以及是否具有cf_id,内容等于34(始终为34)。
如果存在34,则需要检查下一个节点(值),并检查它是否等于0或1。
如果等于0,则需要在屏幕(网页)上输出一条消息。
我继承了用C#.net编写的原始代码-有人可以帮忙,因为它不是我所熟悉的语言?
我从其他一些代码开始,但是我不确定下一步要去哪里。
if (eleName.Contains("cf_item")) {
XmlNode nodes = eleList[i].ChildNodes;
}
首先,获取第一个pair
名称为name的元素,然后检查name属性是否包含cf_item
。如果是,请pair
从该第一个元素获取所有具有名称的元素。
结果将在中,IEnumerable<XElement>
然后您可以检查第一个元素是否包含,34
以及第二个元素是否包含0
。
该代码将是这样的:
XDocument xmldata = XDocument.Load(xmlFile);
XElement node = xmldata.Element("pair");
if (node.Attribute("name").Value.Contains("cf_item"))
{
IEnumerable<XElement> nextElmts = node.Elements("pair");
if (nextElmts.ElementAt(0).Attribute("name").Value.Contains("cf_id"))
{
if ((Convert.ToInt32(nextElmts.ElementAt(0).Value) == 34))
{
if (Convert.ToInt32(nextElmts.ElementAt(1).Value) == 0)
{
//do what you want here
Console.WriteLine("it's 0");
}
}
}
}
注意:这仅适用于一个cf_item。如果cf_item
不止一个,则需要对其进行修改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句