1

VS で独自のビルドを使用できるように、makefileproj キーワードを使用して vcproj ファイルを作成します。私の質問は、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 を使用して、2 番目のプラットフォームに到達しました。

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);

これにより名前が出力されますが、「C++」が必要です。どうやって読むの?

事前にどうもありがとうございました

4

2 に答える 2

1

Value次のプロパティを使用して、属性の値にアクセスできます。

Console.WriteLine(name.Value);

または、インデックスを作成する代わりに名前で取得することをお勧めします。これは、より短く、より信頼性があります。

Console.WriteLine(((XmlElement)oldFiles[1]).GetAttribute("Name"));

このGetAttributeメソッドは、値を文字列として直接返します。

于 2010-06-05T18:52:06.290 に答える
0

を使用しname.Valueます。

于 2010-06-05T18:51:32.580 に答える