Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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# Python的xml.etree getiterator等价于C_C#_Python_Xml - Fatal编程技术网

C# Python的xml.etree getiterator等价于C

C# Python的xml.etree getiterator等价于C,c#,python,xml,C#,Python,Xml,我有一个XML文件: 它有两个已标记的类元素。我需要用C得到两个节点 使用Python,我可以通过etree.ElementTree轻松获得它们,如下所示 from xml.etree import ElementTree as et from xml.etree.ElementTree import Element tree = et.parse("perf.xml") tss = tree.getiterator('Class') for elem in tss: tss_nam

我有一个XML文件:

它有两个已标记的类元素。我需要用C得到两个节点

使用Python,我可以通过etree.ElementTree轻松获得它们,如下所示

from xml.etree import ElementTree as et
from xml.etree.ElementTree import Element

tree = et.parse("perf.xml")
tss = tree.getiterator('Class')

for elem in tss:
    tss_name =  elem.find('ClassKeyName')
    print tss_name.text

>> helloclass.exe
>> helloclass.exeFpga::TestMe
我如何用C做同样的事情

解决了的 或


您应该尝试Linq到XML。。。非常容易使用:

var xml = XDocument.Load(filename);
var res = from p in xml.Root.Elements("Class").Elements("ClassKeyName") select p.Value;

您应该尝试Linq到XML。。。非常容易使用:

var xml = XDocument.Load(filename);
var res = from p in xml.Root.Elements("Class").Elements("ClassKeyName") select p.Value;
尝试:

尝试:


如何使用res变量获取字符串?res变量是IEnumerable,因此res中的foreach变量res2如何使用res变量获取字符串?res变量是IEnumerable,因此resvar res中的foreach变量res2=来自doc.Root.ElementsModule.ElementsNamespaceTable.ElementsClass.ElementsClassKeyName中的p.值;dropbox上的xml文件不再存在。var res=来自doc.Root.ElementsModule.ElementsNamespaceTable.ElementsClass.ElementsClassKeyName中的p选择p.Value;dropbox上的xml文件不再存在。
var xml = XDocument.Load(filename);
var res = from p in xml.Root.Elements("Class").Elements("ClassKeyName") select p.Value;
using System.Xml;
// ...
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filename);
var matches = xmlDoc.SelectNodes("//Class/ClassKeyName");