C# Python的xml.etree getiterator等价于C
我有一个XML文件: 它有两个已标记的类元素。我需要用C得到两个节点 使用Python,我可以通过etree.ElementTree轻松获得它们,如下所示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
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");