我们使用makefileproj关键字创建vcproj文件,以便我们可以在VS中使用自己的构建。我的问题是,使用C#,你如何阅读以下vcproj文件中的“C ++”:
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="TestCSProj"
ProjectGUID="{840501C9-6AFE-8CD6-1146-84208624C0B0}"
RootNamespace="TestCSProj"
Keyword="MakeFileProj"
>
<Platforms>
<Platform
Name="x64"
/>
<Platform
Name="C++" ===> I need to read "C++"
/>
</Platforms>
我使用了XmlNode并进入了第二个平台:
String path = "C:\\blah\\TestCSProj\\TestCSProj\\TestCSProj.vcproj";
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(fs);
XmlNodeList oldFiles = xmldoc.GetElementsByTagName("Platform");
XmlAttribute name = oldFiles[1].Attributes[0];
Console.WriteLine(name.Name);
这将打印Name,但我需要“C ++”。我怎么读?
非常感谢您提前
答案 0 :(得分:1)
您可以使用Value
属性访问属性的值:
Console.WriteLine(name.Value);
或者甚至更好,通过名称而不是索引获取它,这更短,更可靠:
Console.WriteLine(((XmlElement)oldFiles[1]).GetAttribute("Name"));
GetAttribute
方法直接将值作为字符串返回。
答案 1 :(得分:0)
使用name.Value
。